/// <summary>
        /// Udate existing Plan in client model session
        /// </summary>
        /// <param name="model">Existing plan instance to update</param>
        /// <returns>Returns true if updating was succesfull. Otherwise false.</returns>
        public bool UpdatePlanToClientModelSession(PlanModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                var record = fullModel.Plan.Where(p => p.idPlan == model.idPlan).FirstOrDefault();
                if (record != null)
                {
                    int index = fullModel.Plan.IndexOf(record);
                    if (index != -1)
                    {
                        fullModel.Plan[index] = model;
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }

                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
示例#2
0
        public ClientFullModel GetClientByNameOrInsert(string clientName)
        {
            try
            {
                ClientFullModel client = GetClientByName(clientName);



                if (client == null)
                {
                    Stranka_PDO clientNew = new Stranka_PDO();
                    clientNew.NazivPrvi = clientName;
                    ClientType type = GetClientTypeByCode(Common.Enums.Enums.TypeOfClient.DOBAVITELJ.ToString());
                    clientNew.TipStrankaID = (type != null) ? type.TipStrankaID : 1;
                    context.Stranka_PDO.Add(clientNew);
                    context.SaveChanges();
                    client = GetClientByName(clientName);
                }

                return(client);
            }
            catch (Exception ex)
            {
                throw new Exception(ValidationExceptionError.res_07, ex);
            }
        }
        /// <summary>
        /// Udate existing ClientCategorie in client model session
        /// </summary>
        /// <param name="model">Existing clientCategorie instance to update</param>
        /// <returns>Returns true if updating was succesfull. Otherwise false.</returns>
        public bool UpdateCategorieToClientModelSession(ClientCategorieModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                var record = fullModel.StrankaKategorija.Where(sK => sK.idStrankaKategorija == model.idStrankaKategorija).FirstOrDefault();
                if (record != null)
                {
                    int index = fullModel.StrankaKategorija.IndexOf(record);
                    if (index != -1)
                    {
                        fullModel.StrankaKategorija[index] = model;
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }

                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Udate existing contact person in client model session
        /// </summary>
        /// <param name="model">Existing contact person instance to update</param>
        /// <returns>Returns true if updating was succesfull. Otherwise false.</returns>
        public bool UpdateContactPersonToClientModelSession(ContactPersonModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                var record = fullModel.KontaktneOsebe.Where(ko => ko.idKontaktneOsebe == model.idKontaktneOsebe).FirstOrDefault();
                if (record != null)
                {
                    int index = fullModel.KontaktneOsebe.IndexOf(record);
                    if (index != -1)
                    {
                        fullModel.KontaktneOsebe[index] = model;
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }

                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Udate existing Notes in client model session
        /// </summary>
        /// <param name="model">Existing Notes instance to update</param>
        /// <returns>Returns true if updating was succesfull. Otherwise false.</returns>
        public bool UpdateNotesToClientModelSession(NotesModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                var record = fullModel.Opombe.Where(n => n.idOpombaStranka == model.idOpombaStranka).FirstOrDefault();
                if (record != null)
                {
                    int index = fullModel.Opombe.IndexOf(record);
                    if (index != -1)
                    {
                        fullModel.Opombe[index] = model;
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }

                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
示例#6
0
        public ChartReport(List <GraphBinding> data, ClientFullModel _clientModel)
        {
            ChartData   = data;
            clientModel = _clientModel;
            InitializeComponent();

            if (ChartData != null && ChartData.Count > 0)
            {
                ReportChartDescription();
                PrintDocument();
            }
        }
        /// <summary>
        /// Add new Contact person instance to Client model session
        /// </summary>
        /// <param name="model">New contact person instance to add</param>
        /// <returns>Returns true if adding was succesfull. Otherwise false.</returns>
        public bool AddContactPersonToClientModelSession(ContactPersonModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                fullModel.KontaktneOsebe.Add(model);
                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Add new Plan instance to client model session
        /// </summary>
        /// <param name="model">New plan instance to add</param>
        /// <returns>Returns true if adding was succesfull. Otherwise false.</returns>
        public bool AddPlanToClientModelSession(PlanModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                fullModel.Plan.Add(model);
                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Add new Notes instance to client model session
        /// </summary>
        /// <param name="model">New Notes instance to add</param>
        /// <returns>Returns true if adding was succesfull. Otherwise false.</returns>
        public bool AddNotesToClientModelSession(NotesModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                fullModel.Opombe.Add(model);
                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Add new Device instance to client model session
        /// </summary>
        /// <param name="model">New device instance to add</param>
        /// <returns>Returns true if adding was succesfull. Otherwise false.</returns>
        public bool AddDeviceToClientModelSession(DevicesModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                fullModel.Naprave.Add(model);
                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Add new ClientCategorie instance to client model session
        /// </summary>
        /// <param name="model">New clientCategorie instance to add</param>
        /// <returns>Returns true if adding was succesfull. Otherwise false.</returns>
        public bool AddCategorieToClientModelSession(ClientCategorieModel model)
        {
            ClientFullModel fullModel = GetFullModelFromClientModel();

            if (fullModel != null)
            {
                fullModel.StrankaKategorija.Add(model);
                AddValueToSession(Enums.ClientSession.ClientModel, fullModel);

                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Delete Notes instance from client model session and add new data to session.
        /// </summary>
        /// <param name="planID">Notes ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns>Return true if delete is succesfull. Otherwise false.</returns>
        public bool DeleteNotesFromClientModelSession(int NotesID, int clientID)
        {
            NotesModel      model = GetNotesFromClientModelSession(NotesID, clientID);
            ClientFullModel tmp   = GetFullModelFromClientModel();

            if (model != null && tmp != null)
            {
                bool isDeleted = tmp.Opombe.Remove(model);
                AddValueToSession(Enums.ClientSession.ClientModel, tmp);

                return(isDeleted);
            }
            return(false);
        }
        /// <summary>
        /// Delete Device instance from client model session and add new data to session.
        /// </summary>
        /// <param name="planID">Device ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns>Return true if delete is succesfull. Otherwise false.</returns>
        public bool DeleteDeviceFromClientModelSession(int deviceID, int clientID)
        {
            DevicesModel    model = GetDeviceFromClientModelSession(deviceID, clientID);
            ClientFullModel tmp   = GetFullModelFromClientModel();

            if (model != null && tmp != null)
            {
                bool isDeleted = tmp.Naprave.Remove(model);
                AddValueToSession(Enums.ClientSession.ClientModel, tmp);

                return(isDeleted);
            }
            return(false);
        }
        /// <summary>
        /// Delete Plan instance from client model session and add new data to session.
        /// </summary>
        /// <param name="planID">Plan ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns>Return true if delete is succesfull. Otherwise false.</returns>
        public bool DeletePlanFromClientModelSession(int planID, int clientID)
        {
            PlanModel       model = GetPlanFromClientModelSession(planID, clientID);
            ClientFullModel tmp   = GetFullModelFromClientModel();

            if (model != null && tmp != null)
            {
                bool isDeleted = tmp.Plan.Remove(model);
                AddValueToSession(Enums.ClientSession.ClientModel, tmp);

                return(isDeleted);
            }
            return(false);
        }
        /// <summary>
        /// Delete Contact person instance from client model session and add new data to session.
        /// </summary>
        /// <param name="planID">contact person ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns>Return true if delete is succesfull. Otherwise false.</returns>
        public bool DeleteContactPersonFromClientModelSession(int contactPersonID, int clientID)
        {
            ContactPersonModel model = GetContactPersonFromClientModelSession(contactPersonID, clientID);
            ClientFullModel    tmp   = GetFullModelFromClientModel();

            if (model != null && tmp != null)
            {
                bool isDeleted = tmp.KontaktneOsebe.Remove(model);
                AddValueToSession(Enums.ClientSession.ClientModel, tmp);

                return(isDeleted);
            }
            return(false);
        }
        /// <summary>
        /// Delete ClientCateogire instance from client model session and add new data to session.
        /// </summary>
        /// <param name="planID">Categorie ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns>Return true if delete is succesfull. Otherwise false.</returns>
        public bool DeleteCategorieFromClientModelSession(int clientCategorieID, int clientID)
        {
            ClientCategorieModel model = GetCategorieFromClientModelSession(clientCategorieID, clientID);
            ClientFullModel      tmp   = GetFullModelFromClientModel();

            if (model != null && tmp != null)
            {
                bool isDeleted = tmp.StrankaKategorija.Remove(model);
                AddValueToSession(Enums.ClientSession.ClientModel, tmp);

                return(isDeleted);
            }
            return(false);
        }
        public WebResponseContentModel <ClientFullModel> SaveClientChanges(ClientFullModel newData)
        {
            WebResponseContentModel <ClientFullModel> model = new WebResponseContentModel <ClientFullModel>();

            try
            {
                model.Content = newData;
                model         = PostWebRequestData <WebResponseContentModel <ClientFullModel> >(WebServiceHelper.SaveClientDataChanges(), "post", model);
            }
            catch (Exception ex)
            {
                model.ValidationErrorAppSide = ConcatenateExceptionMessage(ex);
            }

            return(model);
        }
        public IHttpActionResult SaveInquiryPurchase([FromBody] object inquiryData)
        {
            WebResponseContentModel <InquiryFullModel> model = null;

            try
            {
                model = JsonConvert.DeserializeObject <WebResponseContentModel <InquiryFullModel> >(inquiryData.ToString());

                DataTypesHelper.LogThis("SaveInquiryPurchase : " + model.Content.StatusPovprasevanja.Koda.ToString());

                if (model.Content != null)
                {
                    if (model.Content.PovprasevanjeID > 0)//We update existing record in DB
                    {
                        inquiryRepo.SaveInquiry(model.Content);
                        // send email to all grafolit contacts = Nabava
                        DataTypesHelper.LogThis("Generate mail for Purchase dept : " + model.Content.StatusPovprasevanja.Koda.ToString());

                        if (model.Content.StatusPovprasevanja.Koda == Enums.StatusOfInquiry.POSLANO_V_NABAVO.ToString())
                        {
                            var             employee      = employeeRepo.GetEmployeeByID(model.Content.PovprasevanjeOddalID);
                            string          sGrafolitDept = ConfigurationManager.AppSettings["PantheonCreateOrderDefBuyer"].ToString();
                            ClientFullModel cfmGrafolit   = clientPdoRepo.GetClientByName(sGrafolitDept);

                            DataTypesHelper.LogThis("Generate mail for Purchase dept");
                            messageEventsRepo.CreateEmailForGrafolitPurcaheDept(cfmGrafolit, employee, model.Content);
                        }
                    }

                    model.IsRequestSuccesful = true;
                }
                else
                {
                    model.IsRequestSuccesful = false;
                    model.ValidationError    = ValidationExceptionError.res_09;
                }
            }
            catch (Exception ex)
            {
                model.IsRequestSuccesful = false;
                model.ValidationError    = ExceptionValidationHelper.GetExceptionSource(ex);
                return(Json(model));
            }

            return(Json(model));
        }
示例#19
0
        public ClientFullModel GetClientByID(int clientID, int employeeID)
        {
            try
            {
                var query = from client in context.Stranka_NOZ
                            join clientEmployee in context.StrankaZaposleni_NOZ
                            on client.StrankaID equals clientEmployee.StrankaID
                            where client.StrankaID.Equals(clientID) && clientEmployee.OsebeID.Equals(employeeID)
                            select new ClientFullModel
                {
                    idStranka            = client.StrankaID,
                    KodaStranke          = client.KodaStranke,
                    NazivPrvi            = client.NazivPrvi,
                    NazivDrugi           = client.NazivDrugi,
                    Naslov               = client.Naslov,
                    StevPoste            = client.StevPoste,
                    NazivPoste           = client.NazivPoste,
                    Email                = client.Email,
                    Telefon              = client.Telefon,
                    FAX                  = client.FAX,
                    InternetniNalov      = client.InternetniNalov,
                    KontaktnaOseba       = client.KontaktnaOseba,
                    RokPlacila           = client.RokPlacila,
                    TRR                  = client.TRR,
                    DavcnaStev           = client.DavcnaStev,
                    MaticnaStev          = client.MaticnaStev,
                    StatusDomacTuji      = ((client.StatusDomacTuji.HasValue && client.StatusDomacTuji.Value) ? "DOMAČ" : ""),
                    Zavezanec_DA_NE      = ((client.Zavezanec_DA_NE.HasValue && client.Zavezanec_DA_NE.Value) ? "DA" : "NE"),
                    IdentifikacijskaStev = client.IdentifikacijskaStev,
                    Clan_EU              = ((client.Clan_EU.HasValue && client.Clan_EU.Value) ? "DA" : "NE"),
                    BIC                  = client.BIC,
                    KodaPlacila          = client.KodaPlacila,
                    DrzavaStranke        = client.DrzavaStranke,
                    Neaktivna            = client.Neaktivna,
                    GenerirajERacun      = client.GenerirajERacun.HasValue ? client.GenerirajERacun.Value : 0,
                    JavniZavod           = client.JavniZavod.HasValue ? client.JavniZavod.Value : 0,
                    ts        = client.ts.HasValue ? client.ts.Value : DateTime.MinValue,
                    tsIDOsebe = client.tsIDOsebe.HasValue ? client.tsIDOsebe.Value : 0,
                    //TODO: Add collections of Dogodek, KontaktneOsebe, Nadzor, Plan, StrankaZaposleni
                    TipStrankaID = client.TipStrankaID,
                    TipStranka   = (from clientType in context.TipStranka_NOZ
                                    where clientType.TipStrankaID == client.TipStrankaID
                                    select new ClientType
                    {
                        Koda = clientType.Koda,
                        Naziv = clientType.Naziv,
                        Opis = clientType.Opis,
                        TipStrankaID = clientType.TipStrankaID,
                        ts = clientType.ts.HasValue ? clientType.ts.Value : DateTime.MinValue,
                        tsIDOseba = clientType.tsIDOseba.HasValue ? clientType.tsIDOseba.Value : 0
                    }).FirstOrDefault(),

                    /*JezikID = client.JezikID.HasValue ? client.JezikID.Value : 0,
                     * Jezik = (from jez in context.Jeziki
                     *       where jez.JezikID == client.JezikID
                     *       select new LanguageModel
                     *       {
                     *           Koda = jez.Koda,
                     *           Naziv = jez.Naziv,
                     *           ts = jez.ts.HasValue ? jez.ts.Value : DateTime.MinValue,
                     *       }).FirstOrDefault(),*/
                };

                ClientFullModel model = query.FirstOrDefault();

                /*if (model != null)
                 * {
                 *  model.KontaktneOsebe = new List<ContactPersonModel>();
                 *  model.KontaktneOsebe = GetContactPersonModelList(clientID);
                 *
                 *  model.StrankaZaposleni = new List<ClientEmployeeModel>();
                 *  model.StrankaZaposleni = GetClientEmployeeModelList(clientID);
                 * }*/

                return(model);
            }
            catch (Exception ex)
            {
                throw new Exception(ValidationExceptionError.res_06, ex);
            }
        }
示例#20
0
        public ClientFullModel GetClientByName(string clientName)
        {
            try
            {
                var query = from client in context.Stranka_PDO
                            where client.NazivPrvi.Equals(clientName)
                            select new ClientFullModel
                {
                    idStranka               = client.StrankaID,
                    KodaStranke             = client.KodaStranke,
                    NazivPrvi               = client.NazivPrvi,
                    NazivDrugi              = client.NazivDrugi,
                    Naslov                  = client.Naslov,
                    StevPoste               = client.StevPoste,
                    NazivPoste              = client.NazivPoste,
                    Email                   = client.Email,
                    Telefon                 = client.Telefon,
                    FAX                     = client.FAX,
                    InternetniNalov         = client.InternetniNalov,
                    KontaktnaOseba          = client.KontaktnaOseba,
                    RokPlacila              = client.RokPlacila,
                    TRR                     = client.TRR,
                    DavcnaStev              = client.DavcnaStev,
                    MaticnaStev             = client.MaticnaStev,
                    StatusDomacTuji         = ((client.StatusDomacTuji.HasValue && client.StatusDomacTuji.Value) ? "DOMAČ" : ""),
                    Zavezanec_DA_NE         = ((client.Zavezanec_DA_NE.HasValue && client.Zavezanec_DA_NE.Value) ? "DA" : "NE"),
                    IdentifikacijskaStev    = client.IdentifikacijskaStev,
                    Clan_EU                 = ((client.Clan_EU.HasValue && client.Clan_EU.Value) ? "DA" : "NE"),
                    BIC                     = client.BIC,
                    KodaPlacila             = client.KodaPlacila,
                    DrzavaStranke           = client.DrzavaStranke,
                    Neaktivna               = client.Neaktivna,
                    PrivzetaEM              = client.PrivzetaEM,
                    ZadnjaIzbranaKategorija = client.ZadnjaIzbranaKategorija,
                    GenerirajERacun         = client.GenerirajERacun.HasValue ? client.GenerirajERacun.Value : 0,
                    JavniZavod              = client.JavniZavod.HasValue ? client.JavniZavod.Value : 0,
                    ts        = client.ts.HasValue ? client.ts.Value : DateTime.MinValue,
                    tsIDOsebe = client.tsIDOsebe.HasValue ? client.tsIDOsebe.Value : 0,
                    //TODO: Add collections of Dogodek, KontaktneOsebe, Nadzor, Plan, StrankaZaposleni
                    TipStrankaID = client.TipStrankaID,
                    TipStranka   = (from clientType in context.TipStranka_PDO
                                    where clientType.TipStrankaID == client.TipStrankaID
                                    select new ClientType
                    {
                        Koda = clientType.Koda,
                        Naziv = clientType.Naziv,
                        Opis = clientType.Opis,
                        TipStrankaID = clientType.TipStrankaID,
                        ts = clientType.ts.HasValue ? clientType.ts.Value : DateTime.MinValue,
                        tsIDOseba = clientType.tsIDOseba.HasValue ? clientType.tsIDOseba.Value : 0
                    }).FirstOrDefault(),
                    JezikID = client.JezikID.HasValue ? client.JezikID.Value : 0,
                    Jezik   = (from jez in context.Jeziki
                               where jez.JezikID == client.JezikID
                               select new LanguageModel
                    {
                        Koda = jez.Koda,
                        Naziv = jez.Naziv,
                        ts = jez.ts.HasValue ? jez.ts.Value : DateTime.MinValue,
                    }).FirstOrDefault(),
                };

                ClientFullModel model = query.FirstOrDefault();

                if (model != null)
                {
                    model.KontaktneOsebe = new List <ContactPersonModel>();
                    model.KontaktneOsebe = GetContactPersonModelList(model.idStranka);
                }

                return(model);
            }
            catch (Exception ex)
            {
                throw new Exception(ValidationExceptionError.res_06, ex);
            }
        }
示例#21
0
        public int SaveClient(ClientFullModel model, bool updateRecord = true)
        {
            try
            {
                Stranka_PDO client = new Stranka_PDO();
                client.StrankaID       = model.idStranka;
                client.KodaStranke     = model.KodaStranke;
                client.NazivPrvi       = model.NazivPrvi;
                client.NazivDrugi      = model.NazivDrugi;
                client.Naslov          = model.Naslov;
                client.StevPoste       = model.StevPoste;
                client.NazivPoste      = model.NazivPoste;
                client.Email           = model.Email;
                client.Telefon         = model.Telefon;
                client.FAX             = model.FAX;
                client.InternetniNalov = model.InternetniNalov;
                client.KontaktnaOseba  = model.KontaktnaOseba;
                client.RokPlacila      = model.RokPlacila;
                client.ts                      = model.ts.CompareTo(DateTime.MinValue) == 0 ? (DateTime?)null : model.ts;
                client.tsIDOsebe               = model.tsIDOsebe;
                client.TipStrankaID            = model.TipStrankaID;
                client.JezikID                 = model.JezikID;
                client.PrivzetaEM              = model.PrivzetaEM;
                client.ZadnjaIzbranaKategorija = model.ZadnjaIzbranaKategorija;
                client.KontaktnaOseba_PDO      = new List <KontaktnaOseba_PDO>();
                client.StrankaZaposleni_PDO    = new List <StrankaZaposleni_PDO>();
                client.tsUpdate                = DateTime.Now;
                //client.tsUpdateUserID = model.tsIDOsebe;

                if (client.StrankaID == 0)
                {
                    client.ts        = DateTime.Now;
                    client.tsIDOsebe = model.tsIDOsebe;
                    context.Stranka_PDO.Add(client);
                    context.SaveChanges();
                }
                else
                {
                    if (updateRecord)
                    {
                        Stranka_PDO original = context.Stranka_PDO.Where(s => s.StrankaID == client.StrankaID).FirstOrDefault();
                        context.Entry(original).CurrentValues.SetValues(client);
                        context.SaveChanges();
                    }
                }

                if ((model.StrankaZaposleni != null) && (model.StrankaZaposleni.Count > 0))
                {
                    model.StrankaZaposleni[0].idStranka = client.StrankaID;

                    if (model.StrankaZaposleni[0].idStrankaOsebe == 0)
                    {
                        SaveClientEmployee(model.StrankaZaposleni[0], false);
                    }
                    else
                    {
                        SaveClientEmployee(model.StrankaZaposleni[0]);
                    }
                }

                return(client.StrankaID);
            }
            catch (Exception ex)
            {
                throw new Exception(ValidationExceptionError.res_08, ex);
            }
        }
 /// <summary>
 /// Add clientFullModel instance to session
 /// </summary>
 /// <param name="model"></param>
 public void SetClientFullModel(ClientFullModel model)
 {
     AddValueToSession(Enums.ClientSession.ClientModel, model);
 }
        /// <summary>
        /// Returns ContactPerson Instance from ClientModel session.
        /// </summary>
        /// <param name="planID">Contact person ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns></returns>
        public ContactPersonModel GetContactPersonFromClientModelSession(int contactPersonID, int clientID)
        {
            ClientFullModel tmp = GetFullModelFromClientModel();

            return(tmp.KontaktneOsebe.Where(ko => ko.idKontaktneOsebe == contactPersonID && ko.idStranka == clientID).FirstOrDefault());
        }
        /// <summary>
        /// Returns DeviceModel Instance from ClientModel session.
        /// </summary>
        /// <param name="planID">Device ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns></returns>
        public DevicesModel GetDeviceFromClientModelSession(int deviceID, int clientID)
        {
            ClientFullModel tmp = GetFullModelFromClientModel();

            return(tmp.Naprave.Where(n => n.idNaprava == deviceID && n.idStranka == clientID).FirstOrDefault());
        }
        /// <summary>
        /// Returns NotesModel Instance from ClientModel session.
        /// </summary>
        /// <param name="planID">Device ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns></returns>
        public NotesModel GetNotesFromClientModelSession(int NotesID, int clientID)
        {
            ClientFullModel tmp = GetFullModelFromClientModel();

            return(tmp.Opombe.Where(n => n.idOpombaStranka == NotesID && n.idStranka == clientID).FirstOrDefault());
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (clientID > 0)
                {
                    if (Request.UrlReferrer != null && Request.UrlReferrer.AbsolutePath.Contains("ClientsForm.aspx"))
                    {
                        ClearClientReferralSessions();
                    }

                    if (GetClientDataProviderInstance().GetFullModelFromClientModel() != null)
                    {
                        model = GetClientDataProviderInstance().GetFullModelFromClientModel();
                    }
                    else if (PrincipalHelper.IsUserSuperAdmin() || PrincipalHelper.IsUserAdmin())
                    {
                        model = CheckModelValidation <ClientFullModel>(GetDatabaseConnectionInstance().GetClient(clientID));
                    }
                    else
                    {//this else checks if the signed in user actually have rights to edit this client!
                        model = CheckModelValidation <ClientFullModel>(GetDatabaseConnectionInstance().GetClient(clientID, PrincipalHelper.GetUserPrincipal().ID));
                        if (model == null)
                        {
                            RedirectHome();
                        }
                    }

                    if (model != null)
                    {
                        GetClientDataProviderInstance().SetClientFullModel(model);
                        FillForm();
                    }
                    //This popup shows if we set the session ShowWarning
                    ShowWarningPopUp("'The new client was not in database. If you want to add new plans or cnotact person you need to save client first. Click OK to finish saving!'");
                }

                //InitializeEditDeleteButtons();
                //UserActionConfirmBtnUpdate(btnConfirm, action);
            }
            else
            {
                if (model == null && SessionHasValue(Enums.ClientSession.ClientModel))
                {
                    model = (ClientFullModel)GetValueFromSession(Enums.ClientSession.ClientModel);
                }
            }

            if (ClientPageControl.TabPages.FindByName("Charts").IsActive)
            {   //First Tab Charts
                if (SessionHasValue(Enums.ChartSession.GraphCollection))
                {
                    ChartsCallback.Controls.Clear();
                    AddControlsToPanel(GetClientDataProviderInstance().GetGraphBindingList());
                }
            }

            if (btnDisplayAllCharts.Checked)
            {
                filteringBlock.Style.Add("display", "flex");
            }

            if (!String.IsNullOrEmpty(ErrorLabel.Text))
            {
                ErrorLabel.Text = "";
            }
        }
        /// <summary>
        /// Returns ClientCategorieModel Instance from ClientModel session.
        /// </summary>
        /// <param name="planID">Categorie ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns></returns>
        public ClientCategorieModel GetCategorieFromClientModelSession(int clientCategorieID, int clientID)
        {
            ClientFullModel tmp = GetFullModelFromClientModel();

            return(tmp.StrankaKategorija.Where(sK => sK.idStrankaKategorija == clientCategorieID && sK.idStranka == clientID).FirstOrDefault());
        }
        /// <summary>
        /// Returns PlanModel Instance from ClientModel session.
        /// </summary>
        /// <param name="planID">Plan ID</param>
        /// <param name="clientID">Client ID</param>
        /// <returns></returns>
        public PlanModel GetPlanFromClientModelSession(int planID, int clientID)
        {
            ClientFullModel tmp = GetFullModelFromClientModel();

            return(tmp.Plan.Where(p => p.idPlan == planID && p.IDStranka == clientID).FirstOrDefault());
        }