public LoBViewModel Create(LoBViewModel model) { if (string.IsNullOrEmpty(model.SiteCampaignIds.Trim())) { var dataExists = _context.AsQueryable <LoB>().Where(x => x.Name == model.Name && x.CampaignID == model.CampaignID && x.Active == true).FirstOrDefault(); if (dataExists != null) { throw new ArgumentException("LoB name already exists in campaign."); } } var data = new LoB() { CampaignID = model.CampaignID, Name = model.Name, Code = model.Code, Description = model.Description, CreatedBy = model.CreatedBy, ModifiedBy = null, DateCreated = model.DateCreated, DateModified = null, Active = model.Active }; _context.Add <LoB>(data); _context.SaveChanges(); model.ID = data.ID; return(model); }
public void Update(LoBViewModel model) { //get lob id from sitecampaign lob var data = _context.AsQueryable <LoB>().Where(x => x.ID == model.ID).FirstOrDefault(); if (string.IsNullOrEmpty(model.SiteCampaignIds.Trim())) { if (data == null) { throw new ArgumentException("Data does not exists."); } //check if lob already exists if (data.Name.Trim().ToLower() != model.Name.Trim().ToLower() || data.CampaignID != model.CampaignID) { var dataExists = _context.AsQueryable <LoB>().Where(x => x.Name.Trim().ToLower() == model.Name.Trim().ToLower() && x.CampaignID == model.CampaignID).FirstOrDefault(); if (dataExists != null) { throw new ArgumentException("Lob name already exists in site."); } } } data.CampaignID = model.CampaignID; data.Name = model.Name ?? data.Name; data.Code = model.Code ?? data.Code; data.Description = model.Description ?? data.Description; data.ModifiedBy = model.ModifiedBy; data.DateModified = model.DateModified ?? DateTime.Now; data.Active = model.Active; _context.Update <LoB>(data); _context.SaveChanges(); }
private LoBViewModel Create(LoBViewModel data, SiteCampaignViewModel siteCampaign) { _lobService.Create(data); if (data.ID > 0) { //create SiteCampaignLOB _siteCampaignLobService.Create(new SiteCampaignLoBViewModel() { SiteID = siteCampaign.SiteID, CampaignID = siteCampaign.CampaignID, LobID = data.ID, Active = true }); } return(data); }
public ActionResult Save_09252017(LoBViewModel data) { string username = User.Identity.GetUserName(); CommonView model = new CommonView(); string message = string.Empty; try { foreach (var siteCampaignID in data.SiteCampaignIds.TrimEnd(',').Split(',')) { long id = Convert.ToInt64(siteCampaignID); //check if lobname exists var siteCampaign = _siteCampaignService.Get(id, true); long siteid = 0; long campaignid = 0; long lobid = 0; #region Create/Update if (siteCampaign != null) { var count = _siteCampaignLobService.Count(null, siteCampaign.CampaignID, data.Name, true); #region siteid = siteCampaign.SiteID; campaignid = siteCampaign.CampaignID; if (count == 0) { //create LOB data.DateCreated = DateTime.Now; data.CreatedBy = username; var lob = this.Create(data, siteCampaign); lobid = lob.ID; } else if (count > 0) { //exists data.DateModified = DateTime.Now; data.ModifiedBy = username; //get lob var lob = _siteCampaignLobService.GetAll().Where(x => x.CampaignID == siteCampaign.CampaignID && x.LobVM.Name == data.Name) .Select(x => x.LobVM).FirstOrDefault(); //_lobService.GetAll().Where( x => x.Name == data.Name && x.Active == true ).FirstOrDefault(); //check sitecampaignlob count = _siteCampaignLobService.GetAll().Where(x => x.CampaignID == siteCampaign.CampaignID && x.LobID == lob.ID && x.Active == true && x.LobVM.Active == true).Count(); lobid = lob.ID; if (count > 0) { //update _lobService.Update(data); //create sitecampaignlob _siteCampaignLobService.Create(lob.ID, siteCampaign.SiteID, siteCampaign.CampaignID); } else if (count == 0) { //create lob and sitecampaignlob this.Create(data, siteCampaign); } } #endregion message = "Lob Saved."; } #endregion //Check if site campaign lob have weeklyahdatapoin,weeklystaffdatapoint,weeklyhiringdatapoin // create those data. if (siteid > 0 && campaignid > 0 && lobid > 0) { _lobService.CreateWeeklyDatapoints(siteid, campaignid, lobid); } } model.Message = message; } catch (Exception ex) { if (ex.GetType() == typeof(ArgumentException)) { model.Message = ((ArgumentException)ex).Message; } else { model.Message = "Unable to save data. Please contact your system administrator."; } } return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(LoBViewModel data) { string username = User.Identity.GetUserName(); CommonView model = new CommonView(); string message = string.Empty; long lobID = 0; try { #region Update/Create data if (data.ID > 0) { //update data.DateModified = DateTime.Now; data.ModifiedBy = username; _lobService.Update(data); lobID = data.ID; _siteCampaignLobService.Deactivate(lobID); } else { //create LOB data.DateCreated = DateTime.Now; data.CreatedBy = username; var lob = _lobService.Create(data); lobID = data.ID; _siteCampaignLobService.Deactivate(lobID); } #endregion foreach (var siteCampaignID in data.SiteCampaignIds.TrimEnd(',').Split(',')) { long id = Convert.ToInt64(siteCampaignID); //check if lobname exists var siteCampaign = _siteCampaignService.Get(id, true); long siteid = 0; long campaignid = 0; //long lobid = lobID; #region Create/Update if (siteCampaign != null) { var siteCampaignLob = _siteCampaignLobService.GetAll().Where(x => x.SiteID == siteCampaign.SiteID && x.CampaignID == siteCampaign.CampaignID && x.LobID == lobID) .FirstOrDefault(); if (siteCampaignLob != null) { //update siteCampaignLob.Active = true; _siteCampaignLobService.Update(siteCampaignLob); } else { //create SiteCampaignLOB _siteCampaignLobService.Create(new SiteCampaignLoBViewModel() { SiteID = siteCampaign.SiteID, CampaignID = siteCampaign.CampaignID, LobID = lobID, Active = true }); } siteid = siteCampaign.SiteID; campaignid = siteCampaign.CampaignID; message = "Lob Saved."; } #endregion //Check if site campaign lob have weeklyahdatapoin,weeklystaffdatapoint,weeklyhiringdatapoin // create those data. if (siteid > 0 && campaignid > 0 && lobID > 0) { _lobService.CreateWeeklyDatapoints(siteid, campaignid, lobID); } } model.Message = message; } catch (Exception ex) { if (ex.GetType() == typeof(ArgumentException)) { model.Message = ((ArgumentException)ex).Message; } else { model.Message = "Unable to save data. Please contact your system administrator."; } } return(Json(model, JsonRequestBehavior.AllowGet)); }