Пример #1
0
        public Error SendTask(string title,
                              string description,
                              TaskType taskType,
                              LOVItemModel businessArea,
                              UserModel recipient,
                              int?customerId,
                              Dictionary <string, string> dict)
        {
            var error = new Error();

            AddOrganisationDetails(dict);
            dict.AddProperty("MESSAGEHEADER", "");      // Hide these from
            dict.AddProperty("MESSAGEFOOTER", "");      // notifications

            var newTask = new DAL.Task {
                CompanyId        = _company.Id,
                CreatedDate      = DateTimeOffset.Now,
                LOVItem_TaskType = db.FindLOVItemByValue1(null, LOVName.TaskType, ((int)taskType).ToString()),
                BusinessUnitId   = businessArea.Id,
                UserId           = recipient.Id,
                Title            = title.DoSubstitutions(dict),
                Description      = description.DoSubstitutions(dict),
                LOVItem_Status   = db.FindLOVItems(null, db.FindLOV(LOVName.TaskStatus).Id).FirstOrDefault(),
                CustomerId       = customerId,
                Enabled          = true
            };

            db.InsertOrUpdateTask(newTask);
            error.Id = newTask.Id;

            return(error);
        }
Пример #2
0
        public Error SendTask(MessageTemplateType msgId,
                              TaskType notificationType,
                              LOVItemModel businessArea,
                              UserModel recipient,
                              int?customerId,
                              Dictionary <string, string> dict)
        {
            var error = new Error();

            var messageTemplate = db.FindMessageTemplate(_company.Id, msgId);

            if (messageTemplate == null)
            {
                error.SetError(EvolutionResources.errEMailTemplateNotFound);
            }
            else
            {
                error = SendTask(messageTemplate.Subject,
                                 messageTemplate.Message,
                                 notificationType,
                                 businessArea,
                                 recipient,
                                 customerId,
                                 dict);
            }
            return(error);
        }
Пример #3
0
        public Error SendTask(string subject,
                              string message,
                              TaskType notificationType,
                              LOVItemModel businessArea,
                              List <UserModel> recipients,
                              int?customerId,
                              Dictionary <string, string> dict)
        {
            var error = new Error();

            foreach (var user in recipients)
            {
                var tempError = SendTask(subject,
                                         message,
                                         notificationType,
                                         businessArea,
                                         user,
                                         customerId,
                                         dict);

                // If an error occurs, we allow all further sending to continue, but we
                // report the first error as the return error
                if (tempError.IsError && !error.IsError)
                {
                    error = tempError;
                }
            }
            return(error);
        }
Пример #4
0
        public void DeleteLOVItemTest()
        {
            // This test takes a while to run because it takes a copy of the LOVs

            // Get a test user
            var user        = GetTestUser();
            var testCompany = GetTestCompany(user, true);
            var lov         = GetRandomLOV(testCompany.Id);

            // Create an LOV item
            LOVItemModel model = createLOVItem(testCompany, lov);

            var error = LookupService.InsertOrUpdateLOVItem(model, user, "");

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

            // Check that it was written
            var result = db.FindLOVItem(model.Id);
            var test   = LookupService.MapToModel(result);

            AreEqual(model, test);

            // Now delete it
            LookupService.DeleteLOVItem(model.Id);

            // And check that is was deleted
            result = db.FindLOVItem(model.Id);
            Assert.IsTrue(result == null, "Error: A non-NULL value was returned when a NULL value was expected - record delete failed");
        }
Пример #5
0
        private Error validateModel(LOVItemModel model)
        {
            var error = isValidRequiredString(getFieldValue(model.ItemText), 128, "ItemText", EvolutionResources.errItemTextIsRequired);

            if (!error.IsError)
            {
                error = isValidNonRequiredString(getFieldValue(model.ItemValue1), 16, "ItemValue1", EvolutionResources.errTextDataRequiredInField);
            }
            if (!error.IsError)
            {
                error = isValidNonRequiredString(getFieldValue(model.ItemValue2), 16, "ItemValue2", EvolutionResources.errTextDataRequiredInField);
            }
            if (!error.IsError)
            {
                error = isValidNonRequiredString(getFieldValue(model.Colour), 24, "Colour", EvolutionResources.errTextDataRequiredInField);
            }

            if (!error.IsError)
            {
                // Check if an item with the same name already exists
                var lovItem = db.FindLOVItem(model.CompanyId, model.LovId, model.ItemText);
                if (lovItem != null &&                 // Supplier was found
                    ((model.Id == 0 ||                 // when creating a new supplier or
                      lovItem.Id != model.Id)))        // when updating an existing supplier
                {
                    error.SetError(EvolutionResources.errItemAlreadyExists, "ItemText");
                }
            }

            return(error);
        }
Пример #6
0
        public LOVItemModel Clone(LOVItemModel item)
        {
            var newItem = Mapper.Map <LOVItemModel, LOVItemModel>(item);

            if (string.IsNullOrEmpty(newItem.Colour))
            {
                newItem.Colour = "black";
            }
            return(newItem);
        }
Пример #7
0
        LOVItemModel createLOVItem(CompanyModel company, LOV lov)
        {
            LOVItemModel model = new LOVItemModel {
                CompanyId  = company.Id,
                LovId      = lov.Id,
                ItemText   = RandomString(),
                ItemValue1 = RandomString().Left(16),
                ItemValue2 = RandomString().Left(16),
                Enabled    = true
            };

            return(model);
        }
Пример #8
0
        public LOVItemModel FindLOVItemModel(int id, string lovName, bool bCreateEmptyIfNotfound = true)
        {
            LOVItemModel model = null;

            var lov = db.FindLOV(lovName);

            if (lov != null)
            {
                model = FindLOVItemModel(id, lov.Id, bCreateEmptyIfNotfound);
            }

            return(model);
        }
Пример #9
0
        public LOVItemModel FindLOVItemByValueModel(string lovName, string itemValue)
        {
            LOVItemModel model = null;

            var lov = db.FindLOV(lovName);

            if (lov != null)
            {
                model = MapToModel(lov.LOVItems
                                   .Where(lovi => lovi.ItemValue1 == itemValue)
                                   .FirstOrDefault());
            }
            return(model);
        }
Пример #10
0
        public LOVItemModel FindLOVItemModel(string lovName, string itemText)
        {
            LOVItemModel model = null;

            var lov = db.FindLOV(lovName);

            if (lov != null)
            {
                model = MapToModel(lov.LOVItems
                                   .Where(lovi => lovi.ItemText.ToLower() == itemText.ToLower())
                                   .FirstOrDefault());
            }
            return(model);
        }
        private BrandCategorySalesPersonModel createBrandCategorySalesPerson(CompanyModel testCompany,
                                                                             BrandCategoryModel brandCategory,
                                                                             CustomerModel customer, UserModel user,
                                                                             LOVItemModel salesPersonType)
        {
            var tempUser = db.FindUser(user.Id) ?? new User {
                Id = 0, FirstName = "", LastName = ""
            };

            BrandCategorySalesPersonModel model = new BrandCategorySalesPersonModel {
                CompanyId           = testCompany.Id,
                BrandCategoryId     = brandCategory.Id,
                BrandCategoryName   = db.FindBrandCategory(brandCategory.Id).CategoryName,
                CustomerId          = customer.Id,
                UserId              = user.Id,
                UserName            = (tempUser.FirstName + " " + tempUser.LastName).Trim().WordCapitalise(),
                SalesPersonTypeId   = salesPersonType.Id,
                SalesPersonTypeName = db.FindLOVItem(salesPersonType.Id).ItemText
            };

            return(model);
        }
Пример #12
0
        public LOVItemModel FindLOVItemModel(int id, int lovId, bool bCreateEmptyIfNotfound = true)
        {
            LOVItemModel model = null;

            var lovItem = db.FindLOVItem(id);

            if (lovItem == null)
            {
                if (bCreateEmptyIfNotfound)
                {
                    model = new LOVItemModel {
                        LovId = lovId
                    }
                }
                ;
            }
            else
            {
                model = MapToModel(lovItem);
            }

            return(model);
        }
Пример #13
0
        public Error InsertOrUpdateLOVItem(LOVItemModel lovItem, UserModel user, string lockGuid)
        {
            var error = validateModel(lovItem);

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

                    Mapper.Map <LOVItemModel, LOVItem>(lovItem, temp);

                    if (lovItem.CompanyId < 1)
                    {
                        lovItem.CompanyId = null;
                    }

                    db.InsertOrUpdateLOVItem(temp);
                    lovItem.Id = temp.Id;
                }
            }
            return(error);
        }
Пример #14
0
 public string LockLOVItem(LOVItemModel model)
 {
     return(db.LockRecord(typeof(LOVItem).ToString(), model.Id));
 }