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); } }
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)); }
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); }
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)); }