public ActionResult Create(EnrolledServiceModel lookupEnrolledService) { if ("#FFFFFF" == "#" + lookupEnrolledService.ServiceColor) { ModelState.AddModelError("SelectColorError", "please select any other color!"); return(View(lookupEnrolledService)); } if (db.LookupEnrolledServices.Count(a => a.ServiceColor == "#" + lookupEnrolledService.ServiceColor) > 0) { ModelState.AddModelError("ServiceColorError", "Already exists!"); return(View(lookupEnrolledService)); } if (ModelState.IsValid) { var EnrolledServicesModel = db.LookupEnrolledServices.Add(new LookupEnrolledService { ServiceName = lookupEnrolledService.ServiceName, ServiceDecription = lookupEnrolledService.ServiceDecription, CreatedBy = CurrentUser.Id, CreatedOn = DateTime.UtcNow, BusinessId = (int)CurrentBusinessId, ServiceColor = "#" + lookupEnrolledService.ServiceColor, IsActive = true, ImportMode = lookupEnrolledService.ImportMode, BoxUrl = lookupEnrolledService.ImportMode == (int)EBP.Business.Enums.ServiceReportImportModes.BoxAPI ? lookupEnrolledService.BoxUrl : null, }); if (db.SaveChanges() > 0) { string rootPath = Server.MapPath("~/Assets"); string path = Path.Combine(rootPath, CurrentBusinessId.ToString(), "Sales", lookupEnrolledService.ServiceName.Replace(" ", "").ToString()); DirectoryInfo dir = new DirectoryInfo(path); if (!dir.Exists) { dir.Create(); } #region FTP if (lookupEnrolledService.ImportMode == (int)EBP.Business.Enums.ServiceReportImportModes.Ftp) { db.ServiceFtpInfoes.Add(new ServiceFtpInfo { HostName = lookupEnrolledService.HostName, Protocol = lookupEnrolledService.Protocol, Username = lookupEnrolledService.Username, Password = lookupEnrolledService.Password, RemotePath = lookupEnrolledService.RemotePath, PortNumber = lookupEnrolledService.PortNumber, ServiceId = EnrolledServicesModel.Id }); db.SaveChanges(); } #endregion } return(RedirectToAction("Index")); } return(View(lookupEnrolledService)); }
public IHttpActionResult UpdateServiceById(EnrolledServiceModel serviceModel) { var response = new DataResponse <EntityServices>(); if (ModelState.IsValid) { serviceModel.CreatedBy = CurrentUserId; serviceModel.BusinessId = CurrentBusinessId.Value; EntityServices entityService = new EntityServices(); entityService.Id = serviceModel.Id; entityService.BusinessId = serviceModel.BusinessId; entityService.ServiceName = serviceModel.ServiceName; entityService.ServiceDecription = serviceModel.ServiceDecription; entityService.ServiceColor = "#" + serviceModel.ServiceColor; entityService.IsActive = true; entityService.ImportMode = serviceModel.ImportMode; entityService.FtpInfo = new EntityServiceFtpInfo(); entityService.BoxUrl = serviceModel.BoxUrl; if (serviceModel.FtpInfo != null) { entityService.FtpInfo.Host = serviceModel.FtpInfo.Host; entityService.FtpInfo.Username = serviceModel.FtpInfo.Username; entityService.FtpInfo.Passsword = serviceModel.FtpInfo.Passsword; entityService.FtpInfo.Protocol = serviceModel.FtpInfo.Protocol; entityService.FtpInfo.RemotePath = serviceModel.FtpInfo.RemotePath; entityService.FtpInfo.PortNumber = serviceModel.FtpInfo.PortNumber; } response = new RepositoryEnrolledServices().Update(entityService); if (response.Status == DataResponseStatus.OK) { string rootPath = HttpContext.Current.Server.MapPath("~/Assets"); string path = Path.Combine(rootPath, CurrentBusinessId.ToString(), "Sales", response.Model.ServiceName.Replace(" ", "").ToString()); DirectoryInfo dir = new DirectoryInfo(path); if (!dir.Exists) { dir.Create(); } } return(Ok <DataResponse>(response)); } else { var errorList = ModelState.Where(a => a.Value.Errors.Any()).Select(s => new { Key = s.Key.Split('.').Last(), Message = s.Value.Errors[0].ErrorMessage }); return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = errorList })); } }
public ActionResult Edit(EnrolledServiceModel lookupEnrolledService) { if ("#FFFFFF" == "#" + lookupEnrolledService.ServiceColor) { ModelState.AddModelError("SelectColorError", "please select any other color!"); return(View(lookupEnrolledService)); } if (db.LookupEnrolledServices.Count(a => a.Id != lookupEnrolledService.Id && a.ServiceColor == "#" + lookupEnrolledService.ServiceColor) > 0) { ModelState.AddModelError("ServiceColorError", "Already exists!"); return(View(lookupEnrolledService)); } if (ModelState.IsValid) { string rootPath = Server.MapPath("~/Assets"); var model = db.LookupEnrolledServices.Find(lookupEnrolledService.Id); string OldPath = Path.Combine(rootPath, CurrentBusinessId.ToString(), "Sales", model.ServiceName.Replace(" ", "").ToString()); model.ServiceName = lookupEnrolledService.ServiceName; model.ServiceDecription = lookupEnrolledService.ServiceDecription; model.IsActive = lookupEnrolledService.IsActive; model.UpdatedBy = CurrentUser.Id; model.UpdatedOn = DateTime.UtcNow; model.ServiceColor = "#" + lookupEnrolledService.ServiceColor; model.ImportMode = lookupEnrolledService.ImportMode; model.BoxUrl = lookupEnrolledService.ImportMode == (int)EBP.Business.Enums.ServiceReportImportModes.BoxAPI ? lookupEnrolledService.BoxUrl : null; if (db.SaveChanges() > 0) { string NewPath = Path.Combine(rootPath, CurrentBusinessId.ToString(), "Sales", model.ServiceName.Replace(" ", "").ToString()); DirectoryInfo dir = new DirectoryInfo(NewPath); DirectoryInfo oldDir = new DirectoryInfo(OldPath); if (oldDir.Exists) { if (OldPath != NewPath) { System.IO.Directory.Move(OldPath, NewPath); } } else { if (!dir.Exists) { dir.Create(); } } if (lookupEnrolledService.ImportMode == (int)EBP.Business.Enums.ServiceReportImportModes.Ftp) { var ftpModel = model.ServiceFtpInfoes.FirstOrDefault(a => a.ServiceId == lookupEnrolledService.Id); if (ftpModel != null) { ftpModel.Protocol = lookupEnrolledService.Protocol; ftpModel.HostName = lookupEnrolledService.HostName; ftpModel.Username = lookupEnrolledService.Username; ftpModel.Password = lookupEnrolledService.Password; ftpModel.PortNumber = lookupEnrolledService.PortNumber; ftpModel.RemotePath = lookupEnrolledService.RemotePath; db.SaveChanges(); } else { db.ServiceFtpInfoes.Add(new ServiceFtpInfo { HostName = lookupEnrolledService.HostName, Protocol = lookupEnrolledService.Protocol, Username = lookupEnrolledService.Username, Password = lookupEnrolledService.Password, RemotePath = lookupEnrolledService.RemotePath, PortNumber = lookupEnrolledService.PortNumber, ServiceId = lookupEnrolledService.Id }); db.SaveChanges(); } } } return(RedirectToAction("Index")); } return(View(lookupEnrolledService)); }