示例#1
0
        private CenterModel BuildModel(center centerModule)
        {
            if (centerModule == null)
            {
                return(null);
            }
            else
            {
                CenterModel centermodel = new CenterModel();
                centermodel.Id      = centerModule.center_id;
                centermodel.Name    = centerModule.name;
                centermodel.Phone   = centerModule.phone;
                centermodel.Address = centerModule.address;
                if (centerModule.consultant_id.HasValue)
                {
                    centermodel.ConsultantId   = centerModule.consultant_id.Value;
                    centermodel.ConsultantName = centerModule.consultants.name;
                }
                else
                {
                    centermodel.ConsultantId   = 0;
                    centermodel.ConsultantName = "";
                }

                return(centermodel);
            }
        }
示例#2
0
        private void centerInfoDataGrid_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            CenterModel p = (CenterModel)e.AddedItems[0];

            SearchCenterId   = p.CenterId;
            SearchCenterName = p.CenterName;
        }
示例#3
0
        public void SaveCenter(string CenterName, string CenterCode, string Email, string Landline1, string Landline2, string Mobile, string Address, string PinCode)
        {
            CenterModel CentObj1 = new CenterModel();

            SqlParameter[] SParam = new SqlParameter[9];

            SParam[0]       = new SqlParameter("@CenterName", SqlDbType.VarChar);
            SParam[0].Value = CenterName;
            SParam[1]       = new SqlParameter("@CenterCode", SqlDbType.VarChar);
            SParam[1].Value = CenterCode;
            SParam[2]       = new SqlParameter("@Email", SqlDbType.VarChar);
            SParam[2].Value = Email;
            SParam[3]       = new SqlParameter("@Landline1", SqlDbType.VarChar);
            SParam[3].Value = Landline1;
            SParam[4]       = new SqlParameter("@Landline2", SqlDbType.VarChar);
            SParam[4].Value = Landline2;
            SParam[5]       = new SqlParameter("@Mobile", SqlDbType.VarChar);
            SParam[5].Value = Mobile;
            SParam[6]       = new SqlParameter("@Address", SqlDbType.VarChar);
            SParam[6].Value = Address;
            SParam[7]       = new SqlParameter("@PinCode", SqlDbType.VarChar);
            SParam[7].Value = PinCode;
            SParam[8]       = new SqlParameter("@UserID", SqlDbType.Int);
            SParam[8].Value = Convert.ToInt32(Session["USER_ID"]);
            try
            {
                CentObj1.SaveCenter(SParam);
            }
            catch (Exception ex)
            {
            }
        }
示例#4
0
        public CenterModel Add(CenterModel newCenterModel)
        {
            try
            {
                center cen = new center();

                cen.address = newCenterModel.Address;
                cen.name    = newCenterModel.Name;
                cen.phone   = newCenterModel.Phone;
                if (newCenterModel.ConsultantId != 0)
                {
                    cen.consultant_id = newCenterModel.ConsultantId;
                }

                _unitOfWork.AddAction(cen, DataActions.Add);
                _unitOfWork.Save();
                newCenterModel.Id = cen.center_id;

                return(newCenterModel);
            }
            catch (RepositoryException rex)
            {
                string msg    = rex.Message;
                string reason = rex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
            catch (Exception ex)
            {
                string msg    = ex.Message;
                string reason = ex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
        }
示例#5
0
        /// <summary>
        /// Service Method To Get Centers
        /// </summary>
        /// <param name="center"></param>
        /// <returns></returns>
        public static async Task <List <CenterModel> > GetCenter(CenterModel center)
        {
            List <CenterModel> centers = new List <CenterModel>();

            using (SqlConnection dbConn = new SqlConnection(selectConnection(center.Location)))
            {
                var           isExistingCenter = "SELECT * from Center";
                SqlDataReader reader;

                try
                {
                    dbConn.Open();
                    SqlCommand cmd = new SqlCommand(isExistingCenter, dbConn);
                    reader = await cmd.ExecuteReaderAsync();

                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            CenterModel centerItem = new CenterModel();
                            centerItem.ID         = reader.GetInt32(0);
                            centerItem.Name       = reader.GetString(1);
                            centerItem.CityID     = reader.GetInt32(2);
                            centerItem.NoOfVoters = reader.GetInt32(3);
                            centers.Add(centerItem);
                        }
                    }
                }
                catch (Exception ex)
                {
                    reader = null;
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Exists Error : " + ex.Message,
                        MethodName      = "CenterExists",
                        IsError         = true
                    },
                                               center.Location);
                }
                finally
                {
                    dbConn.Close();
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Check If Center Exists ",
                        MethodName      = "CenterExists",
                        IsError         = false
                    },
                                               center.Location);
                }

                return(centers);
            }
        }
示例#6
0
 private void centerDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (e.AddedItems.Count > 0)
     {
         CenterModel p = (CenterModel)e.AddedItems[0];
         CenterIdTextBox.Text       = p.CenterId;
         CenterNameTextBox.Text     = p.CenterName;
         CenterCapacityTextBox.Text = p.CenterCapacity;
         CenterCostTextBox.Text     = p.CenterCost;
         CenterFoodTextBox.Text     = p.FoodCatering;
         CenterLocationTextBox.Text = p.CenterLocation;
     }
 }
        private async void DeleModule_Click(object sender, RoutedEventArgs e)
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (this._selectedCenter == null || this.centerList.SelectedItems.Count == 0)
                {
                    await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "没有选择中心请选择!", MessageDialogStyle.Affirmative, null);

                    return;
                }
                MessageDialogResult result = await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgInfo, "确认删除所选的中心吗!", MessageDialogStyle.AffirmativeAndNegative, null);

                if (result == MessageDialogResult.Affirmative)
                {
                    IAsyncProxy <ICenterService> _centerAyncProxy = await Task.Run(() => ServiceHelper.GetCenterService());

                    foreach (CenterModel item in this.centerList.SelectedItems)
                    {
                        await _centerAyncProxy.CallAsync(c => c.DeleteById(item.Id));
                    }
                    this._selectedCenter = null;
                    this.bindCenterList();
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "删除中心失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
示例#8
0
        /// <summary>
        /// Service Method To Check If A Center Exists
        /// </summary>
        /// <param name="center"></param>
        /// <returns></returns>
        public static async Task <bool> CenterExists(CenterModel center)
        {
            using (SqlConnection dbConn = new SqlConnection(selectConnection(center.Location)))
            {
                var           query = "SELECT * from Center WHERE Name ='" + center.Name + "' OR ID ='" + center.ID + "'";
                SqlDataReader reader;

                try
                {
                    dbConn.Open();
                    SqlCommand cmd = new SqlCommand(query, dbConn);
                    reader = await cmd.ExecuteReaderAsync();

                    if (reader.HasRows)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    reader = null;
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Exists Error : " + ex.Message,
                        MethodName      = "CenterExists",
                        IsError         = true
                    },
                                               center.Location);
                    return(false);
                }
                finally
                {
                    dbConn.Close();
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Check If Center Exists ",
                        MethodName      = "CenterExists",
                        IsError         = false
                    },
                                               center.Location);
                }
            }
        }
示例#9
0
        public void DeleteCenter(int CenterID)
        {
            CenterModel CentObj1 = new CenterModel();

            SqlParameter[] SParam = new SqlParameter[2];

            SParam[0]       = new SqlParameter("@UserID", SqlDbType.Int);
            SParam[0].Value = Convert.ToInt32(Session["USER_ID"]);
            SParam[1]       = new SqlParameter("@CenterID", SqlDbType.Int);
            SParam[1].Value = CenterID;
            try
            {
                CentObj1.DeleteCenter(SParam);
            }
            catch { }
        }
示例#10
0
        /// <summary>
        /// Service Method To Add A New Center
        /// </summary>
        /// <param name="center"></param>
        /// <returns></returns>
        public static async Task <bool> AddNewCenter(CenterModel center)
        {
            String SQL = "INSERT INTO Center(Name,CityID,Voters)" +
                         "VALUES('" + center.Name + "','" + center.CityID + "','" + center.NoOfVoters + "')";

            using (SqlConnection dbConn = new SqlConnection(selectConnection(center.Location)))
            {
                try
                {
                    dbConn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = SQL;
                    cmd.Connection  = dbConn;
                    await cmd.ExecuteNonQueryAsync();

                    dbConn.Close();

                    return(true);
                }
                catch (Exception ex)
                {
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Add Error : " + ex.Message,
                        MethodName      = "AddNewCenter",
                        IsError         = true
                    },
                                               center.Location);
                    return(false);
                }
                finally
                {
                    dbConn.Close();
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Added",
                        MethodName      = "AddNewCenter",
                        IsError         = false
                    },
                                               center.Location);
                }
            }
        }
示例#11
0
        /// <summary>
        /// Service Method To Delete A Center
        /// </summary>
        /// <param name="center"></param>
        /// <returns></returns>
        public static async Task <bool> DeleteCenter(CenterModel center)
        {
            String SQL = "DELETE FROM Center WHERE Name = '" + center.Name + "' OR ID = '" + center.ID + "'";

            using (SqlConnection dbConn = new SqlConnection(selectConnection(center.Location)))
            {
                try
                {
                    dbConn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = SQL;
                    cmd.Connection  = dbConn;
                    await cmd.ExecuteNonQueryAsync();

                    dbConn.Close();

                    return(true);
                }
                catch (Exception ex)
                {
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Delete Error : " + ex.Message,
                        MethodName      = "DeleteCenter",
                        IsError         = true
                    },
                                               center.Location);
                    return(false);
                }
                finally
                {
                    dbConn.Close();
                    ActionLogService.LogAction(new ActionLogModel()
                    {
                        UserID          = center.UserID,
                        ActionPerformed = "Center Deleted",
                        MethodName      = "DeleteCenter",
                        IsError         = false
                    },
                                               center.Location);
                }
            }
        }
示例#12
0
        public async Task <IHttpActionResult> UpdateCenter(CenterModel center)
        {
            if (center == null)
            {
                return(BadRequest("Please provide valid inputs!"));
            }

            if (center.ID == 0)
            {
                return(BadRequest("Please provide valid center ID!"));
            }

            if (center.CityID == 0)
            {
                return(BadRequest("Please provide valid city ID!"));
            }

            if (string.IsNullOrEmpty(center.Location))
            {
                return(BadRequest("Please provide valid location!"));
            }

            if (await AuthService.ValidateUserAndToken(center.Token, center.UserID, center.Email, center.Location))
            {
                if (await CenterService.CenterExists(center))
                {
                    if (await CenterService.UpdateCenter(center))
                    {
                        return(Ok("Center Updated Successfully!"));
                    }
                    else
                    {
                        return(BadRequest("Failed To Update Center!"));
                    }
                }
                else
                {
                    return(BadRequest("No Such Center Exists!"));
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
示例#13
0
        private async void BindCenterInfo(CenterModel selectCenter)
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (selectCenter != null)
                {
                    txtName.Text    = selectCenter.Name;
                    txtMobile.Text  = selectCenter.Phone;
                    txtAddress.Text = selectCenter.Address;
                    if (selectCenter.ConsultantId != 0)
                    {
                        //绑定主要管理的会籍顾问
                        cmbConsultant.SelectedValue = selectCenter.Id;
                    }
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "绑定用户信息失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
示例#14
0
        private void Add_Button_Click_1(object sender, RoutedEventArgs e)
        {
            string centerName     = Convert.ToString(Center_Name_textBox.Text);
            string centerCapacity = Convert.ToString(Center_Capacity_textBox.Text);
            string centerLocation = Convert.ToString(Center_Location_textBox.Text);
            string centerCost     = Convert.ToString(Center_Cost_textBox.Text);
            string centerCatering = Convert.ToString(Center_Catering_textBox.Text);


            CenterJobs.CenterModel newCenter = new CenterJobs.CenterModel(CenterModel.id(), centerName, centerCapacity, centerLocation, centerCost, centerCatering);

            CenterJobs.CenterService cs = new CenterJobs.CenterService();
            int i = cs.AddNewCenter(newCenter);

            MainWindow mw = new MainWindow();

            mw.centerDataGrid.ItemsSource = cs.LoadData();
            this.Close();
        }
示例#15
0
        public void SaveCSVCenterAndClassroomAndCoordinator(string EntityName, string CenterName, string CenterCode, string Password, string Fullname, string Email, string Mobile, string Landline1, string Address, string PinCode, string[] Classrooms)
        {
            CenterModel CentObj1 = new CenterModel();

            SqlParameter[] SParam = new SqlParameter[9];

            SParam[0]       = new SqlParameter("EntityName", SqlDbType.VarChar);
            SParam[0].Value = EntityName;
            SParam[1]       = new SqlParameter("@CenterName", SqlDbType.VarChar);
            SParam[1].Value = CenterName;
            SParam[2]       = new SqlParameter("@CenterCode", SqlDbType.VarChar);
            SParam[2].Value = CenterCode;
            SParam[3]       = new SqlParameter("@Email", SqlDbType.VarChar);
            SParam[3].Value = Email;
            SParam[4]       = new SqlParameter("@Landline1", SqlDbType.VarChar);
            SParam[4].Value = Landline1;
            SParam[5]       = new SqlParameter("@Mobile", SqlDbType.VarChar);
            SParam[5].Value = Mobile;
            SParam[6]       = new SqlParameter("@Address", SqlDbType.VarChar);
            SParam[6].Value = Address;
            SParam[7]       = new SqlParameter("@PinCode", SqlDbType.VarChar);
            SParam[7].Value = PinCode;
            SParam[8]       = new SqlParameter("@UserID", SqlDbType.Int);
            SParam[8].Value = Convert.ToInt32(Session["USER_ID"]);

            DataTable Center   = DAL.GetDataTable("CreateCSVCenter", SParam);
            int       CenterID = Convert.ToInt32(Convert.IsDBNull(Center.Rows[0]["CenterID"]) ? "-1" : Center.Rows[0]["CenterID"]);

            foreach (var ClassroomName in Classrooms)
            {
                SaveClassroom(ClassroomName, CenterID, 50);
            }

            var RoleTable = DAL.GetDataTable("GetCenterCoordinatorRole");
            int RoleID    = Convert.ToInt32(Convert.IsDBNull(RoleTable.Rows[0]["RoleID"]) ? "-1" : RoleTable.Rows[0]["RoleID"]);

            var e = new EntityController {
                ControllerContext = ControllerContext
            };

            e.AddCenterUser(CenterID, Email, Password, Fullname, Email, Mobile, RoleID);
        }
示例#16
0
        public async Task <IHttpActionResult> GetCenters(CenterModel center)
        {
            if (await AuthService.ValidateUserAndToken(center.Token, center.UserID, center.Email, center.Location))
            {
                var centers = await CenterService.GetCenter(center);

                if (centers.Count > 0)
                {
                    return(Ok(centers));
                }
                else
                {
                    return(BadRequest("No Such Center Exists!"));
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
示例#17
0
 public bool Delete(CenterModel deleteCenterModel)
 {
     try
     {
         return(DeleteById(deleteCenterModel.Id));
     }
     catch (RepositoryException rex)
     {
         string msg    = rex.Message;
         string reason = rex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
     catch (Exception ex)
     {
         string msg    = ex.Message;
         string reason = ex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
 }
        private async void centerList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (this.centerList.SelectedItems.Count == 0)
                {
                    return;
                }
                this._selectedCenter = (CenterModel)this.centerList.SelectedItem;
                await bindClassroom();
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this.GetMainWindow(), UIResources.MsgError, "选取数据失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
示例#19
0
        public CenterModel Update(CenterModel newCenterModel)
        {
            try
            {
                Repository <center> centerDal = _unitOfWork.GetRepository <center>();
                center cen = centerDal.GetObjectByKey(newCenterModel.Id).Entity;
                if (cen != null)
                {
                    cen.address = newCenterModel.Address;
                    cen.name    = newCenterModel.Name;
                    cen.phone   = newCenterModel.Phone;
                    if (newCenterModel.ConsultantId != 0)
                    {
                        cen.consultant_id = newCenterModel.ConsultantId;
                    }
                }
                _unitOfWork.AddAction(cen, DataActions.Update);
                _unitOfWork.Save();

                return(newCenterModel);
            }
            catch (RepositoryException rex)
            {
                string msg    = rex.Message;
                string reason = rex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
            catch (Exception ex)
            {
                string msg    = ex.Message;
                string reason = ex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
        }
示例#20
0
        private async void btnOK_Click(object sender, RoutedEventArgs e)
        {
            #region 新增
            if (Om == OperationMode.AddMode)
            {
                string strErrorMsg = string.Empty;
                try
                {
                    CenterModel newCenterModel = new CenterModel();
                    newCenterModel.Name    = txtName.Text.Trim();
                    newCenterModel.Address = txtAddress.Text.Trim();
                    newCenterModel.Phone   = txtMobile.Text.Trim();
                    if (cmbConsultant.SelectedItem != null)
                    {
                        newCenterModel.ConsultantId = ((ConsultantModel)this.cmbConsultant.SelectedItem).Id;
                    }
                    else
                    {
                        newCenterModel.ConsultantId = 0;
                    }

                    newCenterModel = await centerAsyncProxy.CallAsync(c => c.Add(newCenterModel));

                    this.ShowAutoCloseDialogOwter(UIResources.MsgInfo, "新增教学中心成功!");
                    this.DialogResult = true;
                }
                catch (TimeoutException timeProblem)
                {
                    strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                }
                catch (FaultException <LCFault> af)
                {
                    strErrorMsg = af.Detail.Message;
                }
                catch (FaultException unknownFault)
                {
                    strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                }
                catch (CommunicationException commProblem)
                {
                    strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                }
                if (strErrorMsg != string.Empty)
                {
                    await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "新增中心信息失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                }
            }

            #endregion

            #region 修改
            else
            {
                string strErrorMsg = string.Empty;
                try
                {
                    selectCenter.Name    = txtName.Text;
                    selectCenter.Phone   = txtMobile.Text;
                    selectCenter.Address = txtAddress.Text;
                    if (cmbConsultant.SelectedItem != null)
                    {
                        selectCenter.ConsultantId = ((ConsultantModel)this.cmbConsultant.SelectedItem).Id;
                    }
                    else
                    {
                        selectCenter.ConsultantId = 0;
                    }
                    selectCenter = await centerAsyncProxy.CallAsync(c => c.Update(selectCenter));

                    this.ShowAutoCloseDialogOwter(UIResources.MsgInfo, "修改教学中心成功!");
                    this.DialogResult = true;
                }
                catch (TimeoutException timeProblem)
                {
                    strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                }
                catch (FaultException <LCFault> af)
                {
                    strErrorMsg = af.Detail.Message;
                }
                catch (FaultException unknownFault)
                {
                    strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                }
                catch (CommunicationException commProblem)
                {
                    strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                }
                if (strErrorMsg != string.Empty)
                {
                    await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "修改中心信息失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                }
            }
            #endregion
        }
        public ActionResult Create(/*[Bind(Include = "Name,Place,Desc,State,HolesN,Cityid")]*/ CenterModel centerModel, IEnumerable <HttpPostedFileBase> file)
        {
            if (Session["ID"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (centerModel.DependedOn == null && centerModel.Cityid == null)
            {
                ViewBag.error        = "الرجاء التأكد من اتمام معلومات المركز ومدينته";
                ViewBag.TitleSideBar = "Centers";

                return(View(centerModel));
            }
            bool sendImageError   = false;
            bool proceed          = true;
            bool NumberValidation = false;
            var  typeName         = (string)Session["Type"];
            var  type             = db.EmployeeTypes.Where(x => x.Type == typeName).FirstOrDefault();
            var  empid            = Convert.ToInt32(Session["ID"]);
            var  employee         = db.Employees.Find(empid);

            if (centerModel.firstMonth > 9)
            {
                if (centerModel.LastMonth > 9 && centerModel.LastMonth < centerModel.firstMonth)
                {
                    NumberValidation = true;
                }
            }
            else if (centerModel.firstMonth > centerModel.LastMonth)
            {
                NumberValidation = true;
            }

            if (NumberValidation)
            {
                ViewBag.Periodid     = new SelectList(db.Periods, "id", "Name");
                ViewBag.error        = "يرجى التأكد من الأشهر";
                ViewBag.Cityid       = new SelectList(db.Cities, "id", "Name");
                ViewBag.TitleSideBar = "Centers";

                return(View(centerModel));
            }
            if (ModelState.IsValid)
            {
                try
                {
                    centerModel.center.id = db.Centers.OrderByDescending(x => x.id).FirstOrDefault().id + 1;
                }
                catch (Exception)
                {
                    centerModel.center.id = 1;
                }

                int prooveid;
                try
                {
                    prooveid = db.Prooves.OrderByDescending(x => x.id).FirstOrDefault().id + 1;
                }
                catch (Exception)
                {
                    prooveid = 1;
                }
                try
                {
                    if ((Directory.Exists(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id)))
                    {
                        try
                        {
                            Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                        }
                        catch (IOException)
                        {
                            Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                        }
                        catch (UnauthorizedAccessException)
                        {
                            Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                        }
                    }
                    foreach (var item in file)
                    {
                        if (item.ContentLength > 0)
                        {
                            var fileName = Path.GetFileName(item.FileName);


                            if (!Directory.Exists(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id))
                            {
                                Directory.CreateDirectory(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id);
                            }
                            var path = Path.Combine(Server.MapPath("~/App_Data/Centers/" + centerModel.center.id), fileName);
                            item.SaveAs(path);
                            Proove proove = new Proove();
                            proove.Path     = path;
                            proove.id       = prooveid;
                            proove.CenterID = centerModel.center.id;
                            db.Prooves.Add(proove);
                            prooveid++;
                        }
                        else
                        {
                        }
                    }

                    var startPath = Server.MapPath("~/App_Data/Centers" + "\\" + centerModel.center.id);

                    if (!Directory.Exists(Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder")))
                    {
                        Directory.CreateDirectory(Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder"));
                    }
                    var zipPath = Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder") + "\\" + centerModel.center.id + ".zip";

                    if (System.IO.File.Exists(zipPath))
                    {
                        System.IO.File.Delete(zipPath);
                    }
                    try
                    {
                        ZipFile.CreateFromDirectory(startPath, zipPath);
                    }
                    catch { }
                    centerModel.center.Proof = zipPath;
                }
                catch
                {
                }
                centerModel.center.ProjectID = 1;
                if (centerModel.firstMonth > centerModel.LastMonth)
                {
                    for (int i = centerModel.firstMonth; i <= 12; i++)
                    {
                        switch (i)
                        {
                        case 10:
                            centerModel.center.Month10 = true;
                            break;

                        case 11:
                            centerModel.center.Month11 = true;
                            break;

                        case 12:
                            centerModel.center.Month12 = true;
                            break;
                        }
                    }
                    centerModel.firstMonth = 1;
                }

                for (int i = centerModel.firstMonth; i <= centerModel.LastMonth; i++)
                {
                    switch (i)
                    {
                    case 1:
                        centerModel.center.Month1 = true;
                        break;

                    case 2:
                        centerModel.center.Month2 = true;
                        break;

                    case 3:
                        centerModel.center.Month3 = true;
                        break;

                    case 4:
                        centerModel.center.Month4 = true;
                        break;

                    case 5:
                        centerModel.center.Month5 = true;
                        break;

                    case 6:
                        centerModel.center.Month6 = true;
                        break;

                    case 7:
                        centerModel.center.Month7 = true;
                        break;

                    case 8:
                        centerModel.center.Month8 = true;
                        break;

                    case 9:
                        centerModel.center.Month9 = true;
                        break;

                    case 10:
                        centerModel.center.Month10 = true;
                        break;

                    case 11:
                        centerModel.center.Month11 = true;
                        break;

                    case 12:
                        centerModel.center.Month12 = true;
                        break;
                    }
                }

                if (centerModel.Cityid == null)
                {
                    centerModel.center.Cityid = db.Centers.Find(centerModel.DependedOn).Cityid;
                }
                else
                {
                    centerModel.center.Cityid = centerModel.Cityid;
                }
                centerModel.center.AddedBy    = employee.id;
                centerModel.center.AddingDate = DateTime.Now.Date;
                centerModel.center.AddingTime = DateTime.Now.TimeOfDay;
                centerModel.center.DependedOn = centerModel.DependedOn;
                if (type.SeeAccToCity == true)
                {
                    var id  = Convert.ToInt32(Session["ID"]);
                    var emp = db.Employees.FirstOrDefault(x => x.id == id);
                    centerModel.center.Cityid = emp.CityID;
                }
                if (proceed)
                {
                    db.Centers.Add(centerModel.center);
                    db.SaveChanges();
                    TempData["Message"] = "تم الادخال بنجاح";
                    return(RedirectToAction("Index"));
                }
            }
            if (sendImageError)
            {
                ViewBag.error = "يرجى ارفاق الاثبات كملف خارجي";
            }
            if (type.SeeAccToCity == true)
            {
                ViewBag.Periodid = new SelectList(db.Periods, "id", "Name");

                ViewBag.Cityid = new SelectList(db.Cities.Where(x => x.id == employee.CityID), "id", "Name");

                ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.Cityid == employee.CityID && x.CenterType == "رئيسي"), "id", "Name");
            }
            else
            {
                ViewBag.Periodid = new SelectList(db.Periods, "id", "Name");

                ViewBag.Cityid = new SelectList(db.Cities, "id", "Name");

                ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.CenterType == "رئيسي"), "id", "Name");
            }
            ViewBag.TitleSideBar = "Centers";

            return(View(centerModel));
        }
        // GET: Centers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Default", "Home"));
            }
            if (Session["ID"] != null)
            {
                var typeName = (string)Session["Type"];
                var type     = db.EmployeeTypes.Where(x => x.Type == typeName).FirstOrDefault();
                if (type.AddCitesAndCenters == true)
                {
                    CenterModel centerModel = new CenterModel();

                    centerModel.center = db.Centers.Find(id);


                    if (centerModel.center.Month10 == true)
                    {
                        centerModel.firstMonth = 10;
                    }
                    else if (centerModel.center.Month11 == true)
                    {
                        centerModel.firstMonth = 11;
                    }
                    else if (centerModel.center.Month12 == true)
                    {
                        centerModel.firstMonth = 12;
                    }
                    else if (centerModel.center.Month1 == true)
                    {
                        centerModel.firstMonth = 1;
                    }
                    else if (centerModel.center.Month2 == true)
                    {
                        centerModel.firstMonth = 2;
                    }
                    else if (centerModel.center.Month3 == true)
                    {
                        centerModel.firstMonth = 3;
                    }
                    else if (centerModel.center.Month4 == true)
                    {
                        centerModel.firstMonth = 4;
                    }
                    else if (centerModel.center.Month5 == true)
                    {
                        centerModel.firstMonth = 5;
                    }
                    else if (centerModel.center.Month6 == true)
                    {
                        centerModel.firstMonth = 6;
                    }
                    else if (centerModel.center.Month7 == true)
                    {
                        centerModel.firstMonth = 7;
                    }
                    else if (centerModel.center.Month8 == true)
                    {
                        centerModel.firstMonth = 8;
                    }
                    else if (centerModel.center.Month9 == true)
                    {
                        centerModel.firstMonth = 9;
                    }



                    if (centerModel.center.Month9 == true)
                    {
                        centerModel.LastMonth = 9;
                    }
                    else if (centerModel.center.Month8 == true)
                    {
                        centerModel.LastMonth = 8;
                    }
                    else if (centerModel.center.Month7 == true)
                    {
                        centerModel.LastMonth = 7;
                    }
                    else if (centerModel.center.Month6 == true)
                    {
                        centerModel.LastMonth = 6;
                    }
                    else if (centerModel.center.Month5 == true)
                    {
                        centerModel.LastMonth = 5;
                    }
                    else if (centerModel.center.Month4 == true)
                    {
                        centerModel.LastMonth = 4;
                    }
                    else if (centerModel.center.Month3 == true)
                    {
                        centerModel.LastMonth = 3;
                    }
                    else if (centerModel.center.Month2 == true)
                    {
                        centerModel.LastMonth = 2;
                    }
                    else if (centerModel.center.Month1 == true)
                    {
                        centerModel.LastMonth = 1;
                    }
                    else if (centerModel.center.Month12 == true)
                    {
                        centerModel.LastMonth = 12;
                    }
                    else if (centerModel.center.Month11 == true)
                    {
                        centerModel.LastMonth = 11;
                    }
                    else if (centerModel.center.Month10 == true)
                    {
                        centerModel.LastMonth = 10;
                    }


                    if (centerModel == null)
                    {
                        return(HttpNotFound());
                    }
                    if (type.SeeAccToCity == true)
                    {
                        var empid = Convert.ToInt32(Session["ID"]);
                        var emp   = db.Employees.FirstOrDefault(x => x.id == empid);
                        if (emp.CityID != centerModel.center.Cityid)
                        {
                            return(RedirectToAction("Default", "Home"));
                        }
                        ViewBag.Periodid   = new SelectList(db.Periods, "id", "Name", centerModel.center.Periodid);
                        ViewBag.Cityid     = new SelectList(db.Cities.Where(x => x.id == emp.CityID), "id", "Name", centerModel.center.Cityid);
                        ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.Cityid == emp.CityID && x.CenterType == "رئيسي" && x.id != id), "id", "Name", centerModel.center.DependedOn);
                    }
                    else
                    {
                        ViewBag.Periodid   = new SelectList(db.Periods, "id", "Name", centerModel.center.Periodid);
                        ViewBag.Cityid     = new SelectList(db.Cities, "id", "Name", centerModel.center.Cityid);
                        ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.CenterType == "رئيسي" && x.id != id), "id", "Name", centerModel.center.DependedOn);
                    }
                    ViewBag.TitleSideBar = "Centers";

                    return(View(centerModel));
                }
                return(RedirectToAction("Default", "Home"));
            }
            return(RedirectToAction("Index", "Home"));
        }
        public ActionResult Edit(/*[Bind(Include = "id,Name,Place,Desc,State,HolesN,Cityid")]*/ CenterModel centerModel, IEnumerable <HttpPostedFileBase> file)
        {
            if (Session["ID"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            bool proceed = true;

            if (ModelState.IsValid)
            {
                int prooveid;
                try
                {
                    prooveid = db.Prooves.OrderByDescending(x => x.id).FirstOrDefault().id + 1;
                }
                catch (Exception)
                {
                    prooveid = 1;
                }
                try
                {
                    if (file.Count() > 1 || file.Count() > 0 && file.FirstOrDefault() != null)
                    {
                        var oldImages = db.Prooves.Where(x => x.CenterID == centerModel.center.id).ToList();

                        foreach (var image in oldImages)
                        {
                            db.Prooves.Remove(image);
                        }

                        if ((Directory.Exists(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id)))
                        {
                            try
                            {
                                Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                            }
                            catch (IOException)
                            {
                                Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                            }
                            catch (UnauthorizedAccessException)
                            {
                                Directory.Delete(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id, true);
                            }
                        }

                        if (!Directory.Exists(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id))
                        {
                            Directory.CreateDirectory(Server.MapPath("~/App_Data/Centers") + "\\" + centerModel.center.id);
                        }

                        foreach (var item in file)
                        {
                            if (item.ContentLength > 0)
                            {
                                var fileName = Path.GetFileName(item.FileName);

                                var path = Path.Combine(Server.MapPath("~/App_Data/Centers/" + centerModel.center.id), fileName);
                                item.SaveAs(path);
                                Proove proove = new Proove();
                                proove.Path     = path;
                                proove.id       = prooveid;
                                proove.CenterID = centerModel.center.id;
                                db.Prooves.Add(proove);
                                prooveid++;
                            }
                            else
                            {
                            }
                        }
                        try
                        {
                            var startPath = Server.MapPath("~/App_Data/Centers" + "\\" + centerModel.center.id);

                            if (!Directory.Exists(Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder")))
                            {
                                Directory.CreateDirectory(Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder"));
                            }
                            var zipPath = Server.MapPath("~/App_Data/Centers" + "\\" + "ZipFolder") + "\\" + centerModel.center.id + ".zip";

                            if (System.IO.File.Exists(zipPath))
                            {
                                System.IO.File.Delete(zipPath);
                            }
                            try
                            {
                                ZipFile.CreateFromDirectory(startPath, zipPath);
                            }
                            catch { }
                            centerModel.center.Proof = zipPath;
                        }
                        catch { }
                    }
                }
                catch
                {
                }

                db.SaveChanges();
                if (centerModel.Cityid == null)
                {
                    centerModel.center.Cityid = db.Centers.Find(centerModel.DependedOn).Cityid;
                }
                else
                {
                    centerModel.center.Cityid = centerModel.Cityid;
                }
                centerModel.center.DependedOn = centerModel.DependedOn;

                for (int i = 0; i <= 12; i++)
                {
                    switch (i)
                    {
                    case 1:
                        centerModel.center.Month1 = false;
                        break;

                    case 2:
                        centerModel.center.Month2 = false;
                        break;

                    case 3:
                        centerModel.center.Month3 = false;
                        break;

                    case 4:
                        centerModel.center.Month4 = false;
                        break;

                    case 5:
                        centerModel.center.Month5 = false;
                        break;

                    case 6:
                        centerModel.center.Month6 = false;
                        break;

                    case 7:
                        centerModel.center.Month7 = false;
                        break;

                    case 8:
                        centerModel.center.Month8 = false;
                        break;

                    case 9:
                        centerModel.center.Month9 = false;
                        break;

                    case 10:
                        centerModel.center.Month10 = false;
                        break;

                    case 11:
                        centerModel.center.Month11 = false;
                        break;

                    case 12:
                        centerModel.center.Month12 = false;
                        break;
                    }
                }

                if (centerModel.firstMonth > centerModel.LastMonth)
                {
                    for (int i = centerModel.firstMonth; i <= 12; i++)
                    {
                        switch (i)
                        {
                        case 10:
                            centerModel.center.Month10 = true;
                            break;

                        case 11:
                            centerModel.center.Month11 = true;
                            break;

                        case 12:
                            centerModel.center.Month12 = true;
                            break;
                        }
                    }
                    centerModel.firstMonth = 1;
                }

                for (int i = centerModel.firstMonth; i <= centerModel.LastMonth; i++)
                {
                    switch (i)
                    {
                    case 1:
                        centerModel.center.Month1 = true;
                        break;

                    case 2:
                        centerModel.center.Month2 = true;
                        break;

                    case 3:
                        centerModel.center.Month3 = true;
                        break;

                    case 4:
                        centerModel.center.Month4 = true;
                        break;

                    case 5:
                        centerModel.center.Month5 = true;
                        break;

                    case 6:
                        centerModel.center.Month6 = true;
                        break;

                    case 7:
                        centerModel.center.Month7 = true;
                        break;

                    case 8:
                        centerModel.center.Month8 = true;
                        break;

                    case 9:
                        centerModel.center.Month9 = true;
                        break;

                    case 10:
                        centerModel.center.Month10 = true;
                        break;

                    case 11:
                        centerModel.center.Month11 = true;
                        break;

                    case 12:
                        centerModel.center.Month12 = true;
                        break;
                    }
                }
                if (proceed)
                {
                    db.Entry(centerModel.center).State = EntityState.Modified;
                    db.SaveChanges();
                    TempData["Message"] = "تم التعديل بنجاح";
                    return(RedirectToAction("Index"));
                }
            }
            var typeName = (string)Session["Type"]; var type = db.EmployeeTypes.Where(x => x.Type == typeName).FirstOrDefault();

            if (type.SeeAccToCity == true)
            {
                var id  = Convert.ToInt32(Session["ID"]);
                var emp = db.Employees.Find(id);
                ViewBag.Periodid   = new SelectList(db.Periods, "id", "Name", centerModel.center.Periodid);
                ViewBag.Cityid     = new SelectList(db.Cities.Where(x => x.id == emp.CityID), "id", "Name", centerModel.center.Cityid);
                ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.Cityid == emp.CityID && x.CenterType == "رئيسي" && x.id != centerModel.center.id), "id", "Name", centerModel.center.DependedOn);
            }
            else
            {
                ViewBag.Periodid   = new SelectList(db.Periods, "id", "Name", centerModel.center.Periodid);
                ViewBag.Cityid     = new SelectList(db.Cities, "id", "Name", centerModel.center.Cityid);
                ViewBag.DependedOn = new SelectList(db.Centers.Where(x => x.CenterType == "رئيسي" && x.id != centerModel.center.id), "id", "Name", centerModel.center.DependedOn);
            }

            ViewBag.TitleSideBar = "Centers";

            return(View(centerModel));
        }