public FrayteResult SaveCustomerCharge(FrayteCustomerSpecificAdminCharges charge) { FrayteResult result = new FrayteResult(); try { AdminCharge adminCharge; foreach (var item in charge.Charges) { if (item.AdminChargeId == 0) { adminCharge = new AdminCharge(); adminCharge.Value = item.Amount; adminCharge.CustomerId = charge.CustomerId; adminCharge.CreatedOnUtc = DateTime.UtcNow; adminCharge.IsActive = true; adminCharge.Name = item.Value; adminCharge.ShortName = item.Key; adminCharge.OperationZoneId = UtilityRepository.GetOperationZone().OperationZoneId; adminCharge.ChargeType = item.ChargeType; adminCharge.CreatedBy = item.CreatedBy; adminCharge.CurrencyCode = "GBP";// item.CurrencyCode; dbcontext.AdminCharges.Add(adminCharge); dbcontext.SaveChanges(); } else { adminCharge = dbcontext.AdminCharges.Find(item.AdminChargeId); adminCharge.Value = item.Amount; adminCharge.UpdatedOnUtc = DateTime.UtcNow; adminCharge.UpdatedBy = item.CreatedBy; dbcontext.SaveChanges(); } } result.Status = true; } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); result.Status = false; } return(result); }
public List <AdminChargesTypes> CreateCharges(List <AdminChargesTypes> charges) { FrayteResult result = new FrayteResult(); try { AdminCharge adminCharge; foreach (var item in charges) { if (item.AdminChargeId == 0) { adminCharge = new AdminCharge(); adminCharge.ChargeType = item.ChargeType; adminCharge.CreatedBy = item.CreatedBy; adminCharge.CreatedOnUtc = DateTime.UtcNow; adminCharge.CustomerId = 0; adminCharge.Name = item.Value; adminCharge.ShortName = item.Key; adminCharge.Value = item.Amount; adminCharge.OperationZoneId = UtilityRepository.GetOperationZone().OperationZoneId; adminCharge.IsActive = true; adminCharge.CurrencyCode = "GBP"; // item.CurrencyCode; //dbcontext.AdminCharges.Attach(adminCharge); dbcontext.AdminCharges.Add(adminCharge); dbcontext.SaveChanges(); item.AdminChargeId = adminCharge.AdminChargesId; var collection = GetCustomerSpecificAdminCharges(); if (collection.Count > 0) { foreach (var ite in collection) { AdminCharge customerAdminCharge = new AdminCharge(); customerAdminCharge.ChargeType = item.ChargeType; customerAdminCharge.CreatedBy = item.CreatedBy; customerAdminCharge.CreatedOnUtc = DateTime.UtcNow; customerAdminCharge.CustomerId = ite.CustomerId; customerAdminCharge.Name = item.Value; customerAdminCharge.ShortName = item.Key; customerAdminCharge.Value = item.Amount; customerAdminCharge.OperationZoneId = UtilityRepository.GetOperationZone().OperationZoneId; customerAdminCharge.IsActive = true; customerAdminCharge.CurrencyCode = "GBP"; // item.CurrencyCode; //dbcontext.AdminCharges.Attach(adminCharge); dbcontext.AdminCharges.Add(customerAdminCharge); dbcontext.SaveChanges(); } } } else { adminCharge = dbcontext.AdminCharges.Find(item.AdminChargeId); if (adminCharge != null) { adminCharge.UpdatedBy = item.CreatedBy; adminCharge.UpdatedOnUtc = DateTime.UtcNow; adminCharge.Value = item.Amount; dbcontext.SaveChanges(); } } } result.Status = true; } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); result.Status = false; } if (result.Status) { return(charges); } else { return(null); } }