Exemplo n.º 1
0
        public ActionResult Create()
        {
            InteEmployeeModels model = new InteEmployeeModels();

            model.GetValue();
            //===========
            //var lstStore = (List<SelectListItem>)ViewBag.ListStore;
            var lstStore = (SelectList)ViewBag.StoreID;

            model.ListStore = lstStore.ToList();
            return(View(model));
        }
Exemplo n.º 2
0
        public bool EmployeeAddCompany(InteEmployeeModels model, ref string msg)
        {
            try
            {
                CompanyModels        obj;
                List <CompanyModels> ListComp = new List <CompanyModels>();
                if (model.LstCompany != null && model.LstCompany.Count > 0)
                {
                    foreach (var item in model.LstCompany)
                    {
                        obj    = new CompanyModels();
                        obj.ID = item.Value;
                        ListComp.Add(obj);
                    }
                }
                EmployeeAddCompanyRequest paraBody = new EmployeeAddCompanyRequest();
                paraBody.AppKey        = Commons.AppKey;
                paraBody.AppSecret     = Commons.AppSecret;
                paraBody.CreatedUser   = Commons.CreateUser;
                paraBody.RegisterToken = new RegisterTokenModels();

                paraBody.EmployeeID  = model.ID;
                paraBody.ListCompany = ListComp;

                //====================
                var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.EmployeeAddCompany, null, paraBody);
                if (result != null)
                {
                    if (result.Success)
                    {
                        return(true);
                    }
                    else
                    {
                        msg = result.Message;
                        _logger.Error(result.Message);
                        return(false);
                    }
                }
                else
                {
                    //msg = result.ToString();
                    _logger.Error(result);
                    return(false);
                }
            }
            catch (Exception e)
            {
                _logger.Error("Employee Add Company: " + e);
                //msg = e.ToString();
                return(false);
            }
        }
 public InteEmployeeModels GetDetail(string id, string StoreId)
 {
     try
     {
         InteEmployeeModels model = _factory.GetListEmployee(null, id)[0];
         return(model);
     }
     catch (Exception ex)
     {
         _logger.Error("Employee Add Company_Detail: " + ex);
         return(null);
     }
 }
        public ActionResult EmpAddComp(InteEmployeeModels model)
        {
            try
            {
                var name = model.Name;
                model.LstCompany = model.LstCompany.Where(x => x.Selected == true).ToList();
                if (model.LstCompany.Count == 0)
                {
                    ModelState.AddModelError("LstCompany", CurrentUser.GetLanguageTextFromKey("Please choose Company"));
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    model.Name          = name;
                    model.LstCompany    = ViewBag.ListCompany;
                    return(PartialView("_Edit", model));
                }

                string msg    = "";
                var    result = _EmpAddCompFactory.EmployeeAddCompany(model, ref msg);
                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    model            = GetDetail(model.ID, model.StoreID);
                    model.LstCompany = ViewBag.ListCompany;
                    if (model.ListCompany.Count > 0)
                    {
                        foreach (var item in model.ListCompany)
                        {
                            var compChoose = model.LstCompany.Where(w => w.Value == item.Id).FirstOrDefault();
                            if (compChoose != null)
                            {
                                compChoose.Selected = true;
                            }
                        }
                    }
                    return(PartialView("_Edit", model));
                }
            }
            catch (FormatException fEx)
            {
                _logger.Error("Employee Add Company: " + fEx.Message);
                ModelState.AddModelError("Name", CurrentUser.GetLanguageTextFromKey(fEx.Message));
                return(PartialView("_Edit", model));
            }
        }
Exemplo n.º 5
0
        public bool InsertOrUpdateEmployee(InteEmployeeModels model, ref string msg)
        {
            try
            {
                InteSBEmployeeApiModels paraBody = new InteSBEmployeeApiModels();
                paraBody.AppKey        = Commons.AppKey;
                paraBody.AppSecret     = Commons.AppSecret;
                paraBody.CreatedUser   = Commons.CreateUser;
                paraBody.RegisterToken = new RegisterTokenModels();

                paraBody.ID          = model.ID;
                paraBody.StoreID     = model.StoreID;
                paraBody.EmployeeDTO = model;

                //====================
                NSLog.Logger.Info("InsertOrUpdateEmployee Info", paraBody);
                var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.CreateOrEditEmployee, null, paraBody);
                if (result != null)
                {
                    if (result.Success)
                    {
                        return(true);
                    }
                    else
                    {
                        msg = result.Message;
                        _logger.Error(result.Message);
                        return(false);
                    }
                }
                else
                {
                    //msg = result.ToString();
                    _logger.Error(result);
                    return(false);
                }
            }
            catch (Exception e)
            {
                _logger.Error("Employee_InsertOrUpdate: " + e);
                //msg = e.ToString();
                return(false);
            }
        }
Exemplo n.º 6
0
        public ActionResult Export(InteEmployeeModels model)
        {
            try
            {
                if (model.ListStores == null)
                {
                    ModelState.AddModelError("ListStores", CurrentUser.GetLanguageTextFromKey("Please choose store"));
                    return(View(model));
                }

                XLWorkbook     wb        = new XLWorkbook();
                var            wsSetMenu = wb.Worksheets.Add("Sheet1");
                StatusResponse response  = _factory.Export(ref wsSetMenu, model.ListStores);

                if (!response.Status)
                {
                    ModelState.AddModelError("", response.MsgError);
                    return(View(model));
                }

                ViewBag.wb = wb;
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.Charset         = UTF8Encoding.UTF8.WebName;
                Response.ContentEncoding = UTF8Encoding.UTF8;
                Response.ContentType     = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition", String.Format(@"attachment;filename={0}.xlsx", CommonHelper.GetExportFileName("Employee").Replace(" ", "_")));

                using (var memoryStream = new System.IO.MemoryStream())
                {
                    wb.SaveAs(memoryStream);
                    memoryStream.WriteTo(HttpContext.Response.OutputStream);
                    memoryStream.Close();
                }
                HttpContext.Response.End();
                return(RedirectToAction("Export"));
            }
            catch (Exception e)
            {
                _logger.Error("Employee_Export: " + e);
                return(new HttpStatusCodeResult(400, e.Message));
            }
        }
        public PartialViewResult EmpAddComp(string id, string StoreId)
        {
            InteEmployeeModels model = new InteEmployeeModels();

            model            = GetDetail(id, StoreId);
            model.LstCompany = ViewBag.ListCompany;
            if (model.ListCompany.Count > 0)
            {
                foreach (var item in model.ListCompany)
                {
                    var compChoose = model.LstCompany.Where(w => w.Value == item.Id).FirstOrDefault();
                    if (compChoose != null)
                    {
                        compChoose.Selected = true;
                    }
                }
            }
            return(PartialView("_Edit", model));
        }
Exemplo n.º 8
0
 public ActionResult Delete(InteEmployeeModels model)
 {
     try
     {
         string msg    = "";
         var    result = _factory.DeleteEmployee(model.ID, model.StoreID, ref msg);
         if (!result)
         {
             ModelState.AddModelError("Name", msg);
             Response.StatusCode = (int)HttpStatusCode.BadRequest;
             return(PartialView("_Delete", model));
         }
         return(new HttpStatusCodeResult(HttpStatusCode.OK));
     }
     catch (Exception ex)
     {
         _logger.Error("Employee_Delete: " + ex);
         ModelState.AddModelError("Name", CurrentUser.GetLanguageTextFromKey(ex.Message));
         Response.StatusCode = (int)HttpStatusCode.BadRequest;
         return(PartialView("_Delete", model));
     }
 }
Exemplo n.º 9
0
        public ImportModel Import(string filePath, FileInfo[] listFileInfo, List <string> storeIndexes, ref string msg)
        {
            ImportModel importItems = new ImportModel();

            DataTable dtEmployee    = ReadExcelFile(filePath, "Sheet1");
            string    tmpExcelPath  = System.Web.HttpContext.Current.Server.MapPath("~/ImportExportTemplate") + "/SBEmployeeInte.xlsx";
            DataTable dtEmployeeTmp = ReadExcelFile(tmpExcelPath, "Sheet1");

            if (dtEmployee.Columns.Count != dtEmployeeTmp.Columns.Count)
            {
                msg = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons._MsgDoesNotMatchFileExcel);
                return(importItems);
            }

            ImportItem itemErr    = null;
            bool       flagInsert = true;
            string     msgError   = "";

            List <InteEmployeeModels> listData = new List <InteEmployeeModels>();
            //foreach (var store in storeIndexes)
            {
                foreach (DataRow item in dtEmployee.Rows)
                {
                    flagInsert = true;
                    msgError   = "";

                    if (item[0].ToString().Equals(""))
                    {
                        continue;
                    }
                    int index = int.Parse(item[0].ToString());

                    string ImageUrl = "";
                    if (!string.IsNullOrEmpty(item[15].ToString()))
                    {
                        FileInfo file = listFileInfo.FirstOrDefault(m => m.Name.ToLower() == item[15].ToString().ToLower());
                        if (file != null)
                        {
                            if (file.Length > Commons._MaxSizeFileUploadImg)
                            {
                                flagInsert = false;
                                msgError   = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons._MsgAllowedSizeImg) + "<br/>";
                            }
                            else
                            {
                                ImageUrl = Guid.NewGuid() + file.Extension;
                                byte[] photoByte = null;
                                photoByte = System.IO.File.ReadAllBytes(file.FullName);
                                //19/01/2018
                                //photoByte = file.ReadFully();
                                //Save Image on Server
                                if (!string.IsNullOrEmpty(ImageUrl) && photoByte != null)
                                {
                                    var          originalDirectory = new DirectoryInfo(string.Format("{0}Uploads\\", System.Web.HttpContext.Current.Server.MapPath(@"\")));
                                    var          path = string.Format("{0}{1}", originalDirectory, ImageUrl);
                                    MemoryStream ms   = new MemoryStream(photoByte, 0, photoByte.Length);
                                    ms.Write(photoByte, 0, photoByte.Length);
                                    System.Drawing.Image imageTmp = System.Drawing.Image.FromStream(ms, true);
                                    ImageHelper.Me.SaveCroppedImage(imageTmp, path, ImageUrl, ref photoByte);
                                    FTP.Upload(ImageUrl, photoByte);
                                    ImageHelper.Me.TryDeleteImageUpdated(path);
                                }
                            }
                        }
                    }

                    List <InteEmployeeOnStoreModels> ListEmpStore = new List <InteEmployeeOnStoreModels>();
                    foreach (var storeId in storeIndexes)
                    {
                        //===== Role Name
                        string RoleName = item[6].ToString();
                        if (string.IsNullOrEmpty(RoleName))
                        {
                            flagInsert = false;
                            msgError  += "<br/>" + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(("Role Name is required"));
                        }
                        ListEmpStore.Add(new InteEmployeeOnStoreModels
                        {
                            StoreID  = storeId,
                            RoleName = RoleName
                        });
                    }

                    string   msgItem   = "";
                    DateTime HiredDate = DateTimeHelper.GetDateImport(item[8].ToString(), ref msgItem);
                    DateTime BirthDate = DateTimeHelper.GetDateImport(item[9].ToString(), ref msgItem);

                    if (!msgItem.Equals(""))
                    {
                        flagInsert = false;
                        msgError   = msgItem;
                    }
                    InteEmployeeModels model = new InteEmployeeModels
                    {
                        Index     = item[0].ToString(),
                        Name      = item[1].ToString(),
                        Pincode   = item[2].ToString(),
                        Email     = item[3].ToString(),
                        Phone     = item[4].ToString(),
                        Gender    = string.IsNullOrEmpty(item[5].ToString()) ? false : item[5].ToString().ToLower().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Male")) ? true : false,
                        Marital   = string.IsNullOrEmpty(item[7].ToString()) ? false : item[7].ToString().ToLower().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Married")) ? true : false,
                        HiredDate = item[8].ToString().Equals("") ? Commons._ExpiredDate : HiredDate,
                        BirthDate = item[9].ToString().Equals("") ? Commons._ExpiredDate : BirthDate,
                        IsActive  = string.IsNullOrEmpty(item[10].ToString()) ? false
                                        : bool.Parse(item[10].ToString().ToLower().Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Active")).ToString()) ? true : false,
                        Country      = item[11].ToString(),
                        Zipcode      = item[12].ToString(),
                        City         = item[13].ToString(),
                        Street       = item[14].ToString(),
                        ImageURL     = ImageUrl,
                        ListEmpStore = ListEmpStore
                    };
                    //=========
                    //===== Name
                    if (string.IsNullOrEmpty(model.Name))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Name is required");
                        msgError  += "<br/>" + msgItem;
                    }
                    //===== PinCode
                    if (model.Pincode.Equals(""))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Pin Code is required");
                        msgError  += "<br/>" + msgItem;
                    }
                    else if (model.Pincode.Length < 3 || model.Pincode.Length > 20)
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Number of characters should be between 3 and 20");
                        msgError  += "<br/>" + msgItem;
                    }
                    else if (!CommonHelper.IsNumber(model.Pincode))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a valid PIN Code");
                        msgError  += "<br/>" + msgItem;
                    }
                    //===== Email
                    if (model.Email.Equals(""))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Email is required");
                        msgError  += "<br/>" + msgItem;
                    }
                    else if (!CommonHelper.IsValidEmail(model.Email))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a valid email address.");
                        msgError  += "<br/>" + msgItem;
                    }
                    //=======Phone
                    if (model.Phone.Equals(""))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Phone number is required");
                        msgError  += "<br/>" + msgItem;
                    }
                    else if (!CommonHelper.IsNumber(model.Phone))
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a valid phone number");
                        msgError  += "<br/>" + msgItem;
                    }
                    //===== Name
                    if (model.HiredDate.Date > DateTime.Now.Date)
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Hired date must be before or equal to the current date");
                        msgError  += "<br/>" + msgItem;
                    }
                    if (model.BirthDate.Date > DateTime.Now.Date)
                    {
                        flagInsert = false;
                        msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Birth date must be before or equal to the current date");
                        msgError  += "<br/>" + msgItem;
                    }
                    //===========
                    if (flagInsert)
                    {
                        listData.Add(model);
                    }
                    else
                    {
                        itemErr      = new ImportItem();
                        itemErr.Name = model.Name;
                        itemErr.ListFailStoreName.Add("");
                        itemErr.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ":" + index + msgError);
                        importItems.ListImport.Add(itemErr);
                    }
                }
            }

            InteSBEmployeeApiModels paraBody = new InteSBEmployeeApiModels();

            paraBody.AppKey        = Commons.AppKey;
            paraBody.AppSecret     = Commons.AppSecret;
            paraBody.CreatedUser   = Commons.CreateUser;
            paraBody.RegisterToken = new RegisterTokenModels();
            paraBody.ListEmployee  = listData;

            //====================
            var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.ImportEmployee, null, paraBody);

            if (result != null)
            {
                dynamic data       = result.Data;
                var     lstC       = data["ListProperty"];
                var     lstContent = JsonConvert.SerializeObject(lstC);
                var     listError  = JsonConvert.DeserializeObject <List <ImportResult> >(lstContent);

                foreach (ImportResult itemError in listError)
                {
                    ImportItem item = new ImportItem();
                    item.Name = itemError.Property;
                    item.ListFailStoreName.Add(itemError.StoreName);
                    item.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ": " + itemError.Index + "<br/>" + itemError.Error);
                    importItems.ListImport.Add(item);
                }
                if (importItems.ListImport.Count == 0)
                {
                    ImportItem item = new ImportItem();
                    item.Name = "Employee";
                    item.ListSuccessStoreName.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Import Employee Successful"));
                    importItems.ListImport.Add(item);
                }
            }
            return(importItems);
        }
Exemplo n.º 10
0
        public PartialViewResult Delete(string id, string StoreId)
        {
            InteEmployeeModels model = GetDetail(id, StoreId);

            return(PartialView("_Delete", model));
        }
Exemplo n.º 11
0
        public ActionResult Edit(InteEmployeeModels model)
        {
            try
            {
                byte[] photoByte = null;
                PropertyReject();

                if (model.ListStore.Count(x => x.Selected) == 0)
                {
                    ModelState.AddModelError("ListStore", CurrentUser.GetLanguageTextFromKey("Please choose store"));
                }

                if (string.IsNullOrEmpty(model.Name))
                {
                    ModelState.AddModelError("Name", CurrentUser.GetLanguageTextFromKey("Name is required"));
                }

                if (!string.IsNullOrEmpty(model.ImageURL))
                {
                    model.ImageURL = model.ImageURL.Replace(Commons._PublicImages, "").Replace(Commons.Image100_100, "");
                }
                if (model.PictureUpload != null && model.PictureUpload.ContentLength > 0)
                {
                    Byte[] imgByte = new Byte[model.PictureUpload.ContentLength];
                    model.PictureUpload.InputStream.Read(imgByte, 0, model.PictureUpload.ContentLength);
                    model.PictureByte   = imgByte;
                    model.ImageURL      = Guid.NewGuid() + Path.GetExtension(model.PictureUpload.FileName);
                    model.PictureUpload = null;
                    photoByte           = imgByte;
                }
                //else
                //    model.ImageURL = model.ImageURL.Replace(Commons._PublicImages, "").Replace(Commons.Image100_100, "");
                ////Working Time
                //for (int i = 0; i < model.ListWorkingTime.Count; i++)
                //{
                //    var item = model.ListWorkingTime[i];
                //    item.IsOffline = (item.From.ToLower().Equals("off") || item.To.ToLower().Equals("off")) ? true : false;
                //    if (!item.From.ToLower().Equals("off") && !item.To.ToLower().Equals("off"))
                //    {
                //        item.FromTime = Convert.ToDateTime(item.From);
                //        item.ToTime = Convert.ToDateTime(item.To); ;
                //        if (item.FromTime.TimeOfDay > item.ToTime.TimeOfDay)
                //        {
                //            ModelState.AddModelError("WorkingTime", "From time must be less than To time");
                //            break;
                //        }
                //    }
                //}
                //model.ListEmpStore = new List<EmployeeOnStoreModels>();
                //model.ListEmpStore.Add(new EmployeeOnStoreModels
                //{
                //    RoleID = model.RoleID,
                //    StoreID = model.StoreID
                //});

                //model.ListStoreID = model.ListRoleWorkingTime.Select(x => x.StoreID).ToList();
                model.ListRoleWorkingTime = model.ListRoleWorkingTime.Where(x => x.Status != (int)Commons.EStatus.Deleted).ToList();
                if (model.ListRoleWorkingTime != null && model.ListRoleWorkingTime.Count > 0)
                {
                    InteEmployeeOnStoreModels EmpOnStore = null;
                    foreach (var item in model.ListRoleWorkingTime)
                    {
                        //============
                        if (item.RoleID == null)
                        {
                            ModelState.AddModelError("RoleWorkingTimeAlert_" + item.StoreID, CurrentUser.GetLanguageTextFromKey("Please choose role for store") + "[" + item.StoreName + "]");
                            break;
                        }
                        ////Role - Store
                        EmpOnStore             = new InteEmployeeOnStoreModels();
                        EmpOnStore.RoleID      = item.RoleID;
                        EmpOnStore.StoreID     = item.StoreID;
                        EmpOnStore.IsSyncPoins = item.IsSyncPoins;
                        model.ListEmpStore.Add(EmpOnStore);

                        ////Working Time
                        for (int i = 0; i < item.ListWorkingTime.Count; i++)
                        {
                            var itemWorkingTime = item.ListWorkingTime[i];
                            itemWorkingTime.IsOffline = (itemWorkingTime.From.Equals(CurrentUser.GetLanguageTextFromKey("OFF")) ||
                                                         itemWorkingTime.To.Equals(CurrentUser.GetLanguageTextFromKey("OFF"))) ? true : false;
                            if (!itemWorkingTime.From.Equals(CurrentUser.GetLanguageTextFromKey("OFF")) &&
                                !itemWorkingTime.To.Equals(CurrentUser.GetLanguageTextFromKey("OFF")))
                            {
                                itemWorkingTime.FromTime = Convert.ToDateTime(itemWorkingTime.From);
                                itemWorkingTime.ToTime   = Convert.ToDateTime(itemWorkingTime.To);
                                if (itemWorkingTime.FromTime.TimeOfDay > itemWorkingTime.ToTime.TimeOfDay)
                                {
                                    ModelState.AddModelError("RoleWorkingTimeAlert_" + item.StoreID, CurrentUser.GetLanguageTextFromKey("From time must be less than To time for store") + "[" + item.StoreName + "]");
                                    break;
                                }
                            }
                            //WorkingTime
                            model.ListWorkingTime.Add(itemWorkingTime);
                        }
                    }
                }

                if (!ModelState.IsValid)
                {
                    if ((ModelState["PictureUpload"]) != null && (ModelState["PictureUpload"]).Errors.Count > 0)
                    {
                        model.ImageURL = "";
                    }
                    //model = GetDetail(model.ID, model.StoreID);

                    var lstStore = (SelectList)ViewBag.StoreID;
                    model.ListStore = lstStore.ToList();

                    if (model.ListRoleWorkingTime != null)
                    {
                        model.ListRoleWorkingTime.ForEach(x =>
                        {
                            x.GetListRole(x.StoreID, CurrentUser.ListOrganizationId);
                        });
                    }
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Edit", model));
                }
                //====================
                string msg    = "";
                var    result = _factory.InsertOrUpdateEmployee(model, ref msg);
                if (result)
                {
                    //Save Image on Server
                    if (!string.IsNullOrEmpty(model.ImageURL) && model.PictureByte != null)
                    {
                        var          originalDirectory = new DirectoryInfo(string.Format("{0}Uploads\\", Server.MapPath(@"\")));
                        var          path = string.Format("{0}{1}", originalDirectory, model.ImageURL);
                        MemoryStream ms   = new MemoryStream(photoByte, 0, photoByte.Length);
                        ms.Write(photoByte, 0, photoByte.Length);
                        System.Drawing.Image imageTmp = System.Drawing.Image.FromStream(ms, true);

                        ImageHelper.Me.SaveCroppedImage(imageTmp, path, model.ImageURL, ref photoByte);
                        model.PictureByte = photoByte;

                        FTP.Upload(model.ImageURL, model.PictureByte);

                        ImageHelper.Me.TryDeleteImageUpdated(path);
                    }
                    return(RedirectToAction("Index"));
                }
                else
                {
                    //return PartialView("_Edit", model);
                    ModelState.AddModelError("name", msg);
                    //model = GetDetail(model.ID, model.StoreID);

                    var lstStore = (SelectList)ViewBag.StoreID;
                    model.ListStore = lstStore.ToList();

                    /*===*/
                    if (model.ListRoleWorkingTime != null)
                    {
                        model.ListRoleWorkingTime.ForEach(x =>
                        {
                            x.GetListRole(x.StoreID, CurrentUser.ListOrganizationId);
                        });
                    }
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Edit", model));
                }
            }
            catch (FormatException fEx)
            {
                _logger.Error("Employee_Edit: " + fEx.Message);
                ModelState.AddModelError("name", CurrentUser.GetLanguageTextFromKey(fEx.Message));
                //model = GetDetail(model.ID, model.StoreID);

                var lstStore = (SelectList)ViewBag.StoreID;
                model.ListStore = lstStore.ToList();

                /*===*/
                if (model.ListRoleWorkingTime != null)
                {
                    model.ListRoleWorkingTime.ForEach(x =>
                    {
                        x.GetListRole(x.StoreID, CurrentUser.ListOrganizationId);
                    });
                }
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Edit", model));
            }
            catch (Exception ex)
            {
                _logger.Error("Employee_Edit: " + ex);
                //return new HttpStatusCodeResult(400, ex.Message);

                ModelState.AddModelError("name", CurrentUser.GetLanguageTextFromKey("Have an error"));
                //model = GetDetail(model.ID, model.StoreID);

                var lstStore = (SelectList)ViewBag.StoreID;
                model.ListStore = lstStore.ToList();

                /*===*/
                if (model.ListRoleWorkingTime != null)
                {
                    model.ListRoleWorkingTime.ForEach(x =>
                    {
                        x.GetListRole(x.StoreID, CurrentUser.ListOrganizationId);
                    });
                }
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Edit", model));
            }
        }
Exemplo n.º 12
0
        public ActionResult Search(InteEmployeeViewModels model)
        {
            try
            {
                var data   = _factory.GetListEmployee(model.StoreID, null, CurrentUser.ListOrganizationId);
                var data02 = new List <InteEmployeeModels>();
                foreach (var item in data)
                {
                    item.ImageURL = string.IsNullOrEmpty(item.ImageURL) ? Commons.Image100_100 : item.ImageURL;
                    if (item.ListEmpStore != null && item.ListEmpStore.Count > 0)
                    {
                        item.StoreName = item.ListEmpStore[0].StoreName;
                        item.RoleName  = item.ListEmpStore[0].RoleName;
                        item.StoreID   = item.ListEmpStore[0].StoreID;
                        item.RoleID    = item.ListEmpStore[0].RoleID;
                    }
                    //======
                    if (item.ListEmpStore != null && item.ListEmpStore.Count > 1)
                    {
                        InteEmployeeModels emp = null;
                        for (int i = item.ListEmpStore.Count - 1; i >= 1; i--)
                        {
                            InteEmployeeOnStoreModels empOnStore = item.ListEmpStore[i];

                            List <InteEmployeeOnStoreModels> ListEmpStore = new List <InteEmployeeOnStoreModels>();
                            ListEmpStore.Add(new InteEmployeeOnStoreModels
                            {
                                EmployeeID = item.ID,
                                RoleID     = empOnStore.RoleID,
                                RoleName   = empOnStore.RoleName,
                                StoreID    = empOnStore.StoreID,
                                StoreName  = empOnStore.StoreName
                            });

                            emp = new InteEmployeeModels()
                            {
                                BirthDate       = item.BirthDate,
                                City            = item.City,
                                Country         = item.Country,
                                Email           = item.Email,
                                Gender          = item.Gender,
                                HiredDate       = item.HiredDate,
                                ID              = item.ID,
                                ImageURL        = item.ImageURL,
                                IsActive        = item.IsActive,
                                ListMarital     = item.ListMarital,
                                ListRole        = item.ListRole,
                                ListWorkingTime = item.ListWorkingTime,
                                Marital         = item.Marital,
                                Mode            = item.Mode,
                                Name            = item.Name,
                                Phone           = item.Phone,
                                Pincode         = item.Pincode,

                                RoleName     = empOnStore.RoleName,
                                StoreName    = empOnStore.StoreName,
                                StoreID      = empOnStore.StoreID,
                                RoleID       = empOnStore.RoleID,
                                ListEmpStore = ListEmpStore,

                                Street    = item.Street,
                                TimeItems = item.TimeItems,
                                Zipcode   = item.Zipcode
                            };

                            data02.Add(emp);
                            //item.ListEmpStore.Remove(empOnStore);
                        }
                    }
                }
                data.AddRange(data02);
                if (model.ListStores != null && model.ListStores.Count > 0)
                {
                    if (data != null && data.Count > 0)
                    {
                        data = data.Where(x => model.ListStores.Contains(x.StoreID)).ToList();
                    }
                }
                model.ListItem = data;
            }
            catch (Exception e)
            {
                _logger.Error("Employee_Search: " + e);
                return(new HttpStatusCodeResult(400, e.Message));
            }
            return(PartialView("_ListData", model));
        }
Exemplo n.º 13
0
        public InteEmployeeModels GetDetailView(string id, string StoreId)
        {
            try
            {
                InteEmployeeModels model = new InteEmployeeModels();
                var listEmp = _factory.GetListEmployee(null, id);
                if (listEmp != null && listEmp.Any())
                {
                    model = listEmp.FirstOrDefault();
                }
                model.ImageURL  = string.IsNullOrEmpty(model.ImageURL) ? Commons.Image100_100 : model.ImageURL;
                model.HiredDate = model.HiredDate.ToLocalTime();
                model.BirthDate = model.BirthDate.ToLocalTime();

                //==========
                InteRoleWorkingTime rWorkingTime = null;
                if (model.ListEmpStore != null && model.ListEmpStore.Any())
                {
                    // If case View, only get store info with id = StoreId
                    var emp = model.ListEmpStore.Where(w => w.StoreID == StoreId).FirstOrDefault();

                    if (emp != null)
                    {
                        model.StoreID     = emp.StoreID;
                        model.StoreName   = emp.StoreName;
                        model.IsWithPoins = CurrentUser.listStore.Where(x => x.ID == model.StoreID).FirstOrDefault().IsWithPoins;
                        model.IsSyncPoins = emp.IsSyncPoins;
                        model.RoleID      = emp.RoleID;
                        model.RoleName    = emp.RoleName;

                        //===========
                        rWorkingTime = new InteRoleWorkingTime();
                        rWorkingTime.ListWorkingTime.Clear();

                        rWorkingTime.OffSet = 0;
                        rWorkingTime.Status = (int)Commons.EStatus.Actived;

                        rWorkingTime.RoleID   = emp.RoleID;
                        rWorkingTime.RoleName = emp.RoleName;

                        rWorkingTime.StoreID   = emp.StoreID;
                        rWorkingTime.StoreName = emp.StoreName;

                        rWorkingTime.GetListRole(rWorkingTime.StoreID, CurrentUser.ListOrganizationId);

                        //============
                        var lstStore = (SelectList)ViewBag.StoreID;
                        model.ListStore = lstStore.ToList();
                        foreach (var item in model.ListStore)
                        {
                            item.Disabled = model.ListEmpStore.Where(x => x.StoreID.Equals(item.Value)).FirstOrDefault() == null ? false : true;
                            item.Selected = model.ListEmpStore.Where(x => x.StoreID.Equals(item.Value)).FirstOrDefault() == null ? false : true;
                        }

                        if (model.ListWorkingTime != null)
                        {
                            foreach (var itemStore in model.ListWorkingTime)
                            {
                                if (string.IsNullOrEmpty(itemStore.StoreID))
                                {
                                    itemStore.StoreID = emp.StoreID;
                                }
                            }
                            //=========
                            var lstWorkingTime = model.ListWorkingTime.Where(x => x.StoreID.Equals(emp.StoreID)).OrderBy(x => x.Day).ToList();
                            for (int i = 0; i < lstWorkingTime.Count; i++)
                            {
                                var item = lstWorkingTime[i];
                                if (item.IsOffline)
                                {
                                    item.From = CurrentUser.GetLanguageTextFromKey("OFF");
                                    item.To   = CurrentUser.GetLanguageTextFromKey("OFF");
                                }
                                else
                                {
                                    item.From = item.FromTime.ToLocalTime().ToString("HH:mm");
                                    item.To   = item.ToTime.ToLocalTime().ToString("HH:mm");
                                }
                                switch (item.Day)
                                {
                                case 2:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Mon");
                                    break;

                                case 3:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Tue");
                                    break;

                                case 4:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Wed");
                                    break;

                                case 5:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Thu");
                                    break;

                                case 6:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Fri");
                                    break;

                                case 7:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Sat");
                                    break;

                                case 8:
                                    item.StrDate = CurrentUser.GetLanguageTextFromKey("Sun");
                                    break;
                                }
                                rWorkingTime.ListWorkingTime.Add(item);
                            }
                        }
                        model.ListRoleWorkingTime.Add(rWorkingTime);
                    }
                }
                return(model);
            }
            catch (Exception ex)
            {
                _logger.Error("Employee_Detail_View: " + ex);
                return(null);
            }
        }
Exemplo n.º 14
0
        public ActionResult Export()
        {
            InteEmployeeModels model = new InteEmployeeModels();

            return(View(model));
        }