public bool Update(int id, CampaignCreateApiModel apiModel, int modifiedUser) { var validator = _campaignValidator.Validate(apiModel); if (validator.IsValid) { return(_campaignRepository.Update(id, apiModel, modifiedUser)); } return(false); }
public bool Create(CampaignCreateApiModel apiModel, int createdUser) { var validator = _campaignValidator.Validate(apiModel); if (validator.IsValid) { return(_campaignRepository.Create(apiModel, createdUser)); } return(false); }
public bool Update(int campaignId, CampaignCreateApiModel apiModel, int modifiedUser) { var dbCampaign = db.CAMPAIGNs.Find(campaignId); if (dbCampaign != null) { dbCampaign.ActualCost = apiModel.actualCost; dbCampaign.BudgetedCost = apiModel.budgetedCost; if (apiModel.owner != 0) { dbCampaign.CampaignOwner = apiModel.owner; } if (apiModel.status != 0) { dbCampaign.CAMPAIGN_STATUS_ID = apiModel.status; } if (apiModel.type != 0) { dbCampaign.CAMPAIGN_TYPE_ID = apiModel.type; } dbCampaign.Description = apiModel.description; dbCampaign.EmailTitle = apiModel.emailTitle; dbCampaign.EndDate = DbDateHelper.ToNullIfTooEarlyForDb(apiModel.endDate); dbCampaign.ExpectedResponse = apiModel.expectedResponse; dbCampaign.ExpectedRevenue = apiModel.expectedRevenue; dbCampaign.Name = apiModel.campaignName; dbCampaign.NumberSent = apiModel.numberSent; dbCampaign.StartDate = DbDateHelper.ToNullIfTooEarlyForDb(apiModel.startDate); dbCampaign.ModifiedAt = DateTime.Now; dbCampaign.ModifiedBy = modifiedUser; db.SaveChanges(); var owner = db.USERs.Find(dbCampaign.CampaignOwner); var creator = db.USERs.Find(dbCampaign.CreatedBy); var modifyUser = db.USERs.Find(modifiedUser); var notifyModel = new NotificationApiModel(); notifyModel.title = "Campaign updated"; notifyModel.content = $"Campaign {dbCampaign.Name} has been updated by {modifyUser?.Username}."; notifyModel.createdAt = DateTime.Now; notifyModel.module = "campaigns"; notifyModel.moduleObjectId = dbCampaign.ID; NotificationManager.SendNotification(notifyModel, new List <USER> { owner, creator }); return(true); } else { return(false); } }
public bool Create(CampaignCreateApiModel apiModel, int createdUser) { var newCampaign = new CAMPAIGN(); newCampaign.ActualCost = apiModel.actualCost; newCampaign.BudgetedCost = apiModel.budgetedCost; newCampaign.CampaignOwner = apiModel.owner != 0 ? apiModel.owner : createdUser; var dbStatus = db.CAMPAIGN_STATUS.Find(apiModel.status); if (dbStatus != null) { newCampaign.CAMPAIGN_STATUS_ID = apiModel.status; } if (db.CAMPAIGN_TYPE.Find(apiModel.type) != null) { newCampaign.CAMPAIGN_TYPE_ID = apiModel.type; } newCampaign.CreatedAt = DateTime.Now; newCampaign.CreatedBy = createdUser; newCampaign.ModifiedAt = DateTime.Now; newCampaign.Description = apiModel.description; newCampaign.EndDate = DbDateHelper.ToNullIfTooEarlyForDb(apiModel.endDate); newCampaign.ExpectedResponse = apiModel.expectedResponse; newCampaign.ExpectedRevenue = apiModel.expectedRevenue; newCampaign.Name = apiModel.campaignName; newCampaign.NumberSent = apiModel.numberSent; newCampaign.StartDate = DbDateHelper.ToNullIfTooEarlyForDb(apiModel.startDate); newCampaign.EmailTitle = apiModel.emailTitle; try { db.CAMPAIGNs.Add(newCampaign); db.SaveChanges(); var owner = db.USERs.Find(newCampaign.CampaignOwner); var creator = db.USERs.Find(createdUser); var notifyModel = new NotificationApiModel(); notifyModel.title = "Campaign created"; notifyModel.content = $"Campaign {newCampaign.Name} has been created by {creator?.Username}."; notifyModel.createdAt = DateTime.Now; notifyModel.module = "campaigns"; notifyModel.moduleObjectId = newCampaign.ID; NotificationManager.SendNotification(notifyModel, new List <USER> { owner, creator }); return(true); } catch { return(false); } }