protected void btnSave_Click(object sender, EventArgs e)
        {
            using (Medical_Clinic_Entities mc = new Medical_Clinic_Entities())
            {
                foreach (RepeaterItem item in rptService.Items)
                {
                    var chkService = ((CheckBox)item.FindControl("chkService"));
                    int serviceId = int.Parse(((Label)item.FindControl("lblId")).Text);
                    short minsForService = short.Parse(((TextBox)item.FindControl("txtMinsForService")).Text);
                    var txtPortion = ((TextBox)item.FindControl("txtPortion"));

                    var employeeId = Request["ID"];
                    var currentEmployeeService = mc.BSI__Employee_Service_Set.Where(o => o.Employee_Id == employeeId && o.Service_Id == serviceId).ToList();

                    if (chkService.Checked == true && chkService.Enabled == true)
                    {
                        if (currentEmployeeService.Count() == 0)
                        {
                            BSI__Employee_Service employeeService = new BSI__Employee_Service();
                            employeeService.Service_Id = serviceId;
                            employeeService.Employee_Id = employeeId;
                            employeeService.Mins_For_Service = minsForService;

                            mc.BSI__Employee_Service_Set.Add(employeeService);
                            addPart(employeeService.Service_Id, employeeId);
                        }
                        else
                        {
                            currentEmployeeService.First().Mins_For_Service = minsForService;
                            editPart(currentEmployeeService.First().Service_Id, employeeId);
                        }
                    }
                    else if(chkService.Enabled == true)
                    {
                        if (currentEmployeeService.Count() != 0)
                        {
                            mc.BSI__Employee_Service_Set.Remove(currentEmployeeService.First());
                            deletePart(currentEmployeeService.First().Service_Id, employeeId);
                        }
                    }
                }

                mc.SaveChanges();
            }
        }
        private void addPart(int? parentServiceId, string employeeId)
        {
            using (Medical_Clinic_Entities mc = new Medical_Clinic_Entities())
            {
                var parts = mc.BSI__Clinic_Services.Where(o => o.Parent_Id == parentServiceId && o.Is_Part == true).ToList();
                if (parts.Count() != 0)
                {
                    foreach (RepeaterItem item in rptService.Items)
                    {
                        int serviceId = int.Parse(((Label)item.FindControl("lblId")).Text);

                        if (parts.Where(o => o.Id == serviceId).Count() != 0)
                        {
                            short minsForService = short.Parse(((TextBox)item.FindControl("txtMinsForService")).Text);

                            var employeePart = new BSI__Employee_Service();
                            employeePart.Employee_Id = employeeId;
                            employeePart.Service_Id = serviceId;
                            employeePart.Mins_For_Service = minsForService;
                            mc.BSI__Employee_Service_Set.Add(employeePart);
                        }
                    }

                    mc.SaveChanges();
                }
            }
        }
        private void addNewPartToEmployeesOfService(Medical_Clinic_Entities mc, int partId, int serviceId)
        {
            var allEmployeesOfService = mc.BSI__Employee_Service_Set.Where(o => o.Service_Id == serviceId).ToList();
            if (allEmployeesOfService.Count != 0)
            {
                var allEmployees = allEmployeesOfService.Select(o => o.BSI__Clinic_Employees).Distinct().ToList();

                foreach (var employee in allEmployees)
                {
                    var employeeService = new BSI__Employee_Service();
                    employeeService.Mins_For_Service = 0;
                    employeeService.Employee_Id = employee.Id;
                    employeeService.Service_Id = partId;
                    mc.BSI__Employee_Service_Set.Add(employeeService);
                }
            }
        }