using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Security.Cryptography;

namespace Hochbaustatistik.Business
{
    public class Vorgang
    {
        #region Fields
        private string aktenzeichen;
        #endregion

        #region Properties
       
        public int Id { get; set; }

        public string Aktenzeichen
        {
            get
            {
                return aktenzeichen;
            }
            set
            {
                aktenzeichen = value;
                if (!aktenzeichen.Contains("/"))
                {
                    aktenzeichen = ReplaceHiphenWithSlash(value);
                }
            }
        }           
      
        public string Strasse1 { get; set; }           

        public string Hausnummer1 { get; set; }

        public string Strasse2 { get; set; } = string.Empty;

        public string Hausnummer2 { get; set; } = string.Empty;

        public string VorgangsDefinition { get; set; }
        #endregion Properties                

        #region Constructor
        public Vorgang(string id, string aktenzeichen)
        {           
            this.Aktenzeichen = aktenzeichen;
            this.Id = Convert.ToInt32(id);          
        }

        public Vorgang()
        {

        }
        #endregion

        #region Methods
        string ReplaceHiphenWithSlash(string aktenzeichen)
        {
            var regex = new Regex(Regex.Escape("-"),RegexOptions.None,TimeSpan.FromMilliseconds(5));
            string res = regex.Replace(aktenzeichen, "/", 1);
            return res;
        }
               
        public virtual string GenerateVorgang(Vorgang v)
        {
            return String.Empty;
        }                    
        #endregion
    }
}
