public CampaignEditModel() { CampaignModel = new CampaignModel(); DocumentsList = new List <DocumentModel>(); Document = new DocumentModel(); AdsCreateModel = new AdvertisementSupplierCreateModel(); }
public IActionResult InsertAdvertisement(AdvertisementSupplierCreateModel model) { try { if (ModelState.IsValid) { var Campaignmodel = campaignBLObject.GetById(model.CampaignId); if (Campaignmodel != null) { var advertisementModel = Campaignmodel.Advertisements; var SameChannelSameSupplier = advertisementModel.Where(t => t.ChannelId == model.ChannelId && t.SupplierId == model.SuppplierId); double AllBudgte = advertisementModel.Sum(x => x.Budget); AllBudgte += model.Budget; if (model.Budget > Campaignmodel.Budget) { return(Json(new { success = false, title = "Budget can't be greater than campaign budget" })); } else if (model.StartDateTime < Campaignmodel.StartDateTime || model.EndDateTime > Campaignmodel.EndDateTime) { return(Json(new { success = false, title = "Start and end date must be within campaing date range." })); } else if (AllBudgte > Campaignmodel.Budget) { return(Json(new { success = false, title = "Budget can't be greater than campaign budget" })); } else { foreach (var item in SameChannelSameSupplier) { if (model.StartDateTime <= item.StartDateTime || model.EndDateTime >= item.EndDateTime) { return(Json(new { success = false, title = "Start and end date should not be within range for same advertisement." })); } } } } model.AddedBy = User.Identity.Name; var response = advObj.Insert(model); return(Json(new { success = true, adv = response.Name })); } return(Json(new { success = false })); } catch (Exception) { return(Json(new { success = false })); } }
public IActionResult AddSupplier(long id) { try { var suppliers = dropdownObj.GetSuppliersById(id); var model = new AdvertisementSupplierCreateModel() { SupplierList = suppliers }; return(PartialView("AddSupplier", model)); } catch (Exception) { throw; } }
public AdvertisementSupplierCreateModel Insert(AdvertisementSupplierCreateModel entity) { using (UnitOfWork.BeginTransasction()) { try { var adv = new AdvertisementSupplier(); adv.StartDateTime = entity.StartDateTime; adv.EndDateTime = entity.EndDateTime; adv.Budget = entity.Budget; adv.Name = entity.Name; adv.ChannelId = entity.ChannelId; adv.SupplierId = entity.SuppplierId; adv.CampaignId = entity.CampaignId; var obj = _adsRepository.Insert(adv); long nextId = 0; var records = _campaignChannelRepository.GetTable().OrderByDescending(t => t.Id); if (records.Count() > 0) { nextId = records.FirstOrDefault().Id + 1; } _campaignChannelRepository.Insert(new CampaignChannel() { ChannelId = entity.ChannelId, CampaignId = entity.CampaignId, AddedBy = entity.AddedBy, Id = nextId }); UnitOfWork.Commit(); return(entity); } catch (Exception ex) { UnitOfWork.Rollback(); return(entity); } } }
public List <AdvertisementSupplierCreateModel> GetAdvertisementsByCampaignId(long CampaignId) { var Adds = new List <AdvertisementSupplierCreateModel>(); try { var entity = _adsRepository.GetTable().Where(t => t.CampaignId == CampaignId); foreach (var add in entity) { AdvertisementSupplierCreateModel model = new AdvertisementSupplierCreateModel { Budget = add.Budget, StartDateTime = add.StartDateTime, EndDateTime = add.EndDateTime }; Adds.Add(model); } return(Adds); } catch (Exception ex) { return(Adds); } }