Пример #1
0
        public JsonResult Create(string model)
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            var feeModel = JsonConvert.DeserializeObject <PropertyFeeViewModel>(model);

            try
            {
                var entity       = new PropertyFee();
                var dataProvider = new PropertyFeeProvider(_dbContext);
                dataProvider.MapData(feeModel, ref entity);
                dataProvider.Create(entity);
                dataProvider.Commit();

                feeModel.PropertyFeeId = entity.PropertyCostId; // set the created Id to return to kendo grid

                return(Json(feeModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var    innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                string message           = string.Format("Creating Property Fee fails. {0} - {1}", ex.Message, innerErrorMessage);
                return(InternalError(message, string.Empty));
            }
        }
Пример #2
0
        public bool IsFixedCostModel(PropertyFee fee)
        {
            if (fee == null)
            {
                return(false);
            }

            return((fee.Cleanings != null && fee.Cleanings != 0) ||
                   (fee.Consumables != null && fee.Consumables != 0) ||
                   (fee.Laundry != null && fee.Laundry != 0) ||
                   (fee.Landscaping != null && fee.Landscaping != 0) ||
                   (fee.PoolService != null && fee.PoolService != 0) ||
                   (fee.TrashService != null && fee.TrashService != 0) ||
                   (fee.PestService != null && fee.PestService != 0));
        }
        private PropertyFee ParseExcelRow(ExcelRange cells, int row, DateTime date, string inputSource)
        {
            var p = new PropertyFee();

            p.PropertyCode = GetSafeCellString(cells[row, _propertyCol].Value);
            p.DamageWaiver = GetSafeNumber(cells[row, _WaiverCol].Value);
            p.CityTax      = Math.Round(GetSafeNumber(cells[row, _taxCol].Value), 2, MidpointRounding.AwayFromZero);

            // TODO: if PropertyFee file has these fields, read them in
            p.Cleanings    = null;
            p.Consumables  = null;
            p.Landscaping  = null;
            p.Laundry      = null;
            p.PoolService  = null;
            p.TrashService = null;
            p.PestService  = null;

            p.EntryDate   = ConversionHelper.EnsureUtcDate(date);
            p.InputSource = inputSource;

            return(p);
        }
Пример #4
0
        private List <UnitExpenseStatement> GetUnitExpenses(DateTime month, int reservationCount, PropertyFee fee)
        {
            List <UnitExpenseStatement> unitExpenses = new List <UnitExpenseStatement>();

            try
            {
                if (UseGroundKeepingRule(month))
                {
                    double groundsKeepingFee = 0;
                    if (reservationCount > 0)
                    {
                        if (fee.Consumables != null && fee.Consumables != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(Math.Round(fee.Consumables.Value * reservationCount, 2), "Consumables"));
                        }
                        if (fee.Laundry != null && fee.Laundry != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(Math.Round(fee.Laundry.Value * reservationCount, 2), "Laundry Service"));
                        }

                        if (fee.Landscaping != null && fee.Landscaping != 0)
                        {
                            groundsKeepingFee += fee.Landscaping.Value;
                        }
                        if (fee.PoolService != null && fee.PoolService != 0)
                        {
                            groundsKeepingFee += fee.PoolService.Value;
                        }
                        if (fee.TrashService != null && fee.TrashService != 0)
                        {
                            groundsKeepingFee += fee.TrashService.Value;
                        }
                        if (fee.PestService != null && fee.PestService != 0)
                        {
                            groundsKeepingFee += fee.PestService.Value;
                        }
                    }

                    if (groundsKeepingFee > 0)
                    {
                        unitExpenses.Add(MakeUnitExpense(Math.Round(groundsKeepingFee, 2), GRONDSKEEPING_CATEGORY));
                    }
                }
                else
                {
                    if (reservationCount > 0)
                    {
                        if (fee.Consumables != null && fee.Consumables != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(Math.Round(fee.Consumables.Value * reservationCount, 2), "Consumables"));
                        }
                        if (fee.Laundry != null && fee.Laundry != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(Math.Round(fee.Laundry.Value * reservationCount, 2), "Laundry Service"));
                        }

                        if (fee.Landscaping != null && fee.Landscaping != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(fee.Landscaping.Value, "Landscaping"));
                        }
                        if (fee.PoolService != null && fee.PoolService != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(fee.PoolService.Value, "Pool Service"));
                        }
                        if (fee.TrashService != null && fee.TrashService != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(fee.TrashService.Value, "Trash Service"));
                        }
                        if (fee.PestService != null && fee.PestService != 0)
                        {
                            unitExpenses.Add(MakeUnitExpense(fee.PestService.Value, "Pest Control Service"));
                        }
                    }
                }
            }
            catch
            {
                throw; // let caller handle the error
            }
            return(unitExpenses);
        }