Example #1
0
        private void Save(SourceCodeEditModel model)
        {
            try
            {
                var  sourceCode = Mapper.Map <SourceCodeEditModel, SourceCode>(model);
                bool forEdit    = false;
                if (model.Id > 0)
                {
                    forEdit = true;
                    var sourceCodeInDb = _sourceCodeRepository.GetSourceCodeById(model.Id);
                    sourceCode.DataRecorderMetaData = sourceCodeInDb.DataRecorderMetaData;
                    sourceCode.DataRecorderMetaData.DataRecorderModifier = new OrganizationRoleUser(_sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId);
                    sourceCode.DataRecorderMetaData.DateModified         = DateTime.Now;
                }
                else
                {
                    sourceCode.DataRecorderMetaData = new DataRecorderMetaData(_sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId, DateTime.Now, null)
                    {
                        DataRecorderModifier = null
                    };
                }

                _sourceCodeRepository.SaveSourceCode(sourceCode);
                model.FeedbackMessage =
                    FeedbackMessageModel.CreateSuccessMessage("Source Code " + (forEdit ? "edited" : "created") +
                                                              " successfully!");
            }
            catch (Exception ex)
            {
                model.FeedbackMessage =
                    FeedbackMessageModel.CreateFailureMessage("System Failure! Message: " + ex.Message);
            }
        }
Example #2
0
        public ActionResult Create(SourceCodeEditModel model)
        {
            if (!ModelState.IsValid)
            {
                ValidateItemWiseDiscount(model.PackageDiscounts);
                ValidateItemWiseDiscount(model.TestDiscounts);
                ValidateItemWiseDiscount(model.ProductDiscounts);
                ValidateItemWiseDiscount(model.ShippingDiscounts);

                return(View(_sourceCodeService.Get(model)));
            }

            Save(model);
            model = _sourceCodeService.Get(model);
            return(View(model));
        }
Example #3
0
        public SourceCodeEditModel Get(SourceCodeEditModel model)
        {
            model.AllSignUpModes = SignUpMode.CallCenter.GetNameValuePairs().Select(dt => new OrderedPair <int, string>(dt.FirstValue, dt.SecondValue));
            model.AllPackages    = _packageRepository.GetAll().Select(m => new OrderedPair <long, string>(m.Id, m.Name)).OrderBy(m => m.SecondValue).ToArray();
            model.AllTests       = ((ITestRepository)_testRepository).GetAll().Select(m => new OrderedPair <long, string>(m.Id, m.Name)).OrderBy(m => m.SecondValue).ToArray();

            var shippingOptions = _shippingOptionRepository.GetAllShippingOptions();

            model.AllShippingOptions = shippingOptions != null?shippingOptions.Select(so => new OrderedPair <long, string>(so.Id, so.Name)).OrderBy(m => m.SecondValue).ToArray() : new OrderedPair <long, string> [0];

            var products = _electronicProductRepository.GetAllProducts();

            model.AllProducts = products != null?products.Select(po => new OrderedPair <long, string>(po.Id, po.Name)).OrderBy(m => m.SecondValue).ToArray() : new OrderedPair <long, string> [0];

            return(model);
        }
Example #4
0
        public SourceCodeEditModel Get(long id = 0)
        {
            SourceCodeEditModel model;

            if (id > 0)
            {
                var sourceCode = _sourceCodeRepository.GetSourceCodeById(id);
                model = Mapper.Map <SourceCode, SourceCodeEditModel>(sourceCode);

                if (model.PackageDiscounts != null && model.PackageDiscounts.Count() > 0)
                {
                    var ids      = model.PackageDiscounts.Select(pd => pd.Id).ToArray();
                    var packages = _packageRepository.GetByIds(ids);

                    foreach (var packageDiscount in model.PackageDiscounts)
                    {
                        packageDiscount.Name = packages.Where(p => p.Id == packageDiscount.Id).Single().Name;
                    }
                }

                if (model.TestDiscounts != null && model.TestDiscounts.Count() > 0)
                {
                    var ids   = model.TestDiscounts.Select(td => td.Id).ToArray();
                    var tests = _testRepository.GetByIds(ids);

                    foreach (var testDiscount in model.TestDiscounts)
                    {
                        testDiscount.Name = tests.Where(t => t.Id == testDiscount.Id).Single().Name;
                    }
                }

                if (model.ProductDiscounts != null && model.ProductDiscounts.Count() > 0)
                {
                    var ids      = model.ProductDiscounts.Select(td => td.Id).ToArray();
                    var products = _electronicProductRepository.GetByIds(ids);

                    foreach (var productDiscount in model.ProductDiscounts)
                    {
                        productDiscount.Name = products.Where(t => t.Id == productDiscount.Id).Single().Name;
                    }
                }

                if (model.ShippingDiscounts != null && model.ShippingDiscounts.Count() > 0)
                {
                    var ids             = model.ShippingDiscounts.Select(td => td.Id).ToArray();
                    var shippingOptions = _shippingOptionRepository.GetByIds(ids);

                    foreach (var shippingDiscount in model.ShippingDiscounts)
                    {
                        shippingDiscount.Name = shippingOptions.Where(t => t.Id == shippingDiscount.Id).Single().Name;
                    }
                }

                if (sourceCode.EventIds != null && sourceCode.EventIds.Count() > 0)
                {
                    var events = _eventRepository.GetEventswithPodbyIds(sourceCode.EventIds.ToArray());
                    model.Events = events.Select(e => new SourceCodeEventEditModel
                    {
                        EventId   = e.Id,
                        EventDate = e.EventDate,
                        EventName = e.Name
                    }).ToArray();
                }
            }
            else
            {
                model = new SourceCodeEditModel
                {
                    ValidityStartDate     = DateTime.Now,
                    MinimumPurchaseAmount = 0,
                    CouponValueType       = (int)DiscountValueType.Money
                };
            }

            return(Get(model));
        }