示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }