public Error InsertOrUpdateCustomerMarketing(CustomerMarketingModel marketing, UserModel user, string lockGuid)
        {
            var error = validateMarketingModel(marketing);

            if (!error.IsError)
            {
                // Check that the lock is still current
                if (!db.IsLockStillValid(typeof(MarketingGroupSubscription).ToString(), marketing.Id, lockGuid))
                {
                    error.SetError(EvolutionResources.errRecordChangedByAnotherUser, "MarketingGroupId");
                }
                else
                {
                    MarketingGroupSubscription temp = null;
                    if (marketing.Id != 0)
                    {
                        temp = db.FindMarketingGroupSubscription(marketing.Id);
                    }
                    if (temp == null)
                    {
                        temp = new MarketingGroupSubscription();
                    }

                    MapToEntity(marketing, temp);

                    db.InsertOrUpdateMarketingGroupSubscription(temp);
                    marketing.Id = temp.Id;

                    db.Entry(temp).State = EntityState.Detached;     // Force EF to update FK's
                }
            }
            return(error);
        }
        CustomerMarketingModel createCustomerMarketing(int companyId, int customerId, UserModel user, CustomerContactModel contact)
        {
            var group = LookupService.FindMarketingGroupsListModel(companyId, 0, 1, 100, "").Items.First();

            CustomerMarketingModel model = new CustomerMarketingModel {
                CompanyId         = companyId,
                CustomerId        = customerId,
                CustomerContactId = contact.Id,
                ContactName       = (contact.ContactFirstname + " " + contact.ContactSurname).Trim(),
                MarketingGroupId  = group.Id,
                GroupName         = group.MarketingGroupName
            };

            var error = CustomerService.InsertOrUpdateCustomerMarketing(model, user, "");

            Assert.IsTrue(!error.IsError, error.Message);

            return(model);
        }
        public CustomerMarketingModel FindCustomerMarketingModel(int id, CompanyModel company, int customerId, bool bCreateEmptyIfNotfound = true)
        {
            CustomerMarketingModel model = null;

            var a = db.FindMarketingGroupSubscription(id);

            if (a == null)
            {
                if (bCreateEmptyIfNotfound)
                {
                    model = new CustomerMarketingModel {
                        CompanyId = company.Id, CustomerId = customerId
                    }
                }
                ;
            }
            else
            {
                model = MapToModel(a);
            }

            return(model);
        }
 public void MapToEntity(CustomerMarketingModel model, MarketingGroupSubscription entity)
 {
     Mapper.Map <CustomerMarketingModel, MarketingGroupSubscription>(model, entity);
 }
        private Error validateMarketingModel(CustomerMarketingModel model)
        {
            var error = new Error();

            return(error);
        }
 public string LockCustomerMarketing(CustomerMarketingModel model)
 {
     return(db.LockRecord(typeof(MarketingGroupSubscription).ToString(), model.Id));
 }