Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public bool Create(CampaignCreateApiModel apiModel, int createdUser)
        {
            var validator = _campaignValidator.Validate(apiModel);

            if (validator.IsValid)
            {
                return(_campaignRepository.Create(apiModel, createdUser));
            }
            return(false);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }