public ActionResult Update(Guid invoiceSetupId, Guid id, InvoiceSetupItemApiModel invoiceSetupItemApiModel)
        {
            try
            {
                ApiResponse serviceResponse = this._invoiceSetupItemService.GetSingle(id);
                if (serviceResponse.IsSuccess() == false)
                {
                    return(new ObjectNotFoundResult(serviceResponse));
                }

                InvoiceSetupItem invoiceSetupItem = serviceResponse.GetData <InvoiceSetupItem>();
                _invoiceSetupItemMapper.Map(invoiceSetupItemApiModel, invoiceSetupItem);
                if (invoiceSetupItem.InvoiceSetupId == invoiceSetupId)
                {
                    serviceResponse = this._invoiceSetupItemService.Update(invoiceSetupItem);
                    return(SendResponse(serviceResponse));
                }
                else
                {
                    invoiceSetupItem.Type = 1;
                    serviceResponse       = this._invoiceSetupItemService.Add(invoiceSetupId, invoiceSetupItem);
                    return(SendResponse(serviceResponse, "InvoiceSetupItem"));
                }
            }
            catch (Exception ex)
            {
                return(new UnknownErrorResult(ex, base._errorEnabled));
            }
        }
Esempio n. 2
0
        private decimal?ComputeInvoiceSetupItemChargeByUnit(InvoiceSetupItem invoiceSetupItem, Unit unit)
        {
            decimal?amount = null;

            switch (invoiceSetupItem.Service.ServiceType)
            {
            case 1:
            case 2:
            {
                amount = invoiceSetupItem.Amount.HasValue ? invoiceSetupItem.Amount.Value : 0;
                break;
            }

            case 3:
            {
                amount = ComputeRegularMaintenance(unit);
                break;
            }

            case 4:
            {
                amount = ComputeConsumedCharges(invoiceSetupItem.ConsumptionId, unit);
                break;
            }
            }
            return(amount);
        }
 public ActionResult Remove(Guid invoiceSetupId, Guid id)
 {
     try
     {
         ApiResponse serviceResponse = this._invoiceSetupItemService.GetSingle(id);
         if (serviceResponse.IsSuccess() == false)
         {
             return(new ObjectNotFoundResult(serviceResponse));
         }
         InvoiceSetupItem invoiceSetupItem = serviceResponse.GetData <InvoiceSetupItem>();
         if (invoiceSetupItem.InvoiceSetupId != invoiceSetupId)
         {
             serviceResponse = this._invoiceSetupItemService.Hide(invoiceSetupId, invoiceSetupItem.Id);
         }
         else
         {
             this._invoiceSetupItemService.Delete(id);
         }
         return(SendResponse(serviceResponse));
     }
     catch (Exception ex)
     {
         return(new UnknownErrorResult(ex, base._errorEnabled));
     }
 }
        public ApiResponse Update(InvoiceSetupItem invoiceSetupItem)
        {
            var validationError = ValidateUpdate(invoiceSetupItem);

            if (validationError.Count() == 0)
            {
                _faciTechDbContext.SaveChanges();
                return(new ApiResponse(new { Id = invoiceSetupItem.Id }));
            }
            return(new ApiResponse(validationError));
        }
        private List <ErrorInfo> ValidateCreate(InvoiceSetupItem invoiceSetupItem)
        {
            List <ErrorInfo> errorInfos = new List <ErrorInfo>();

            /*
             * errorInfos.Add(new ErrorInfo()
             * {
             *    Key = "Name", Code = "UNIQUE_VIOLATION_ERROR", Description = "Name has to be unique"
             * });
             */
            return(errorInfos);
        }
        public ApiResponse Add(Guid invoiceSetupId, InvoiceSetupItem invoiceSetupItem)
        {
            var validationError = ValidateCreate(invoiceSetupItem);

            if (validationError.Count() == 0)
            {
                invoiceSetupItem.Id             = Guid.NewGuid();
                invoiceSetupItem.InvoiceSetupId = invoiceSetupId;
                _faciTechDbContext.InvoiceSetupItem.Add(invoiceSetupItem);
                _faciTechDbContext.SaveChanges();
                return(new ApiResponse(new { Id = invoiceSetupItem.Id }));
            }
            return(new ApiResponse(validationError));
        }
        public InvoiceSetupItem Map(InvoiceSetupItemApiModel invoiceSetupItemApiModel, InvoiceSetupItem invoiceSetupItem = null)
        {
            if (invoiceSetupItem == null)
            {
                invoiceSetupItem = new InvoiceSetupItem();
            }


            invoiceSetupItem.Description   = invoiceSetupItemApiModel.Description;
            invoiceSetupItem.ServiceId     = invoiceSetupItemApiModel.ItemId.ToGuid();
            invoiceSetupItem.ConsumptionId = invoiceSetupItemApiModel.ConsumptionId.ToNullableGuid();
            invoiceSetupItem.Amount        = invoiceSetupItemApiModel.Amount;
            return(invoiceSetupItem);
        }
 public ActionResult GetSingle(Guid id)
 {
     try
     {
         ApiResponse      apiResponse      = this._invoiceSetupItemService.GetSingle(id);
         InvoiceSetupItem invoiceSetupItem = apiResponse.GetData <InvoiceSetupItem>();
         var invoiceSetupItemApiModel      = _invoiceSetupItemMapper.Map(invoiceSetupItem);
         return(Ok(invoiceSetupItemApiModel));
     }
     catch (Exception ex)
     {
         return(new UnknownErrorResult(ex, base._errorEnabled));
     }
 }
Esempio n. 9
0
        private InvoiceItem GetInvoiceItem(InvoiceSetupItem invoiceSetupItem, Unit unit)
        {
            InvoiceItem invoiceItem    = null;
            decimal?    computedAmount = ComputeInvoiceSetupItemChargeByUnit(invoiceSetupItem, unit);

            if (computedAmount != null && computedAmount.Value > 0)
            {
                invoiceItem = new InvoiceItem()
                {
                    Id            = Guid.NewGuid(),
                    ServiceId     = invoiceSetupItem.ServiceId,
                    ConsumptionId = invoiceSetupItem.ConsumptionId,
                    Description   = invoiceSetupItem.Description,
                    Amount        = computedAmount.Value,
                    TotalAmount   = computedAmount.Value
                };
            }
            //Create Invoice Item
            return(invoiceItem);
        }
        public InvoiceSetupItemApiModel Map(InvoiceSetupItem invoiceSetupItem, InvoiceSetupItemApiModel invoiceSetupItemApiModel = null)
        {
            if (invoiceSetupItemApiModel == null)
            {
                invoiceSetupItemApiModel = new InvoiceSetupItemApiModel();
            }
            string consumptionId   = "";
            string consumptionName = "";

            if (invoiceSetupItem.ConsumptionId != null)
            {
                consumptionId   = invoiceSetupItem.ConsumptionId.Value.ToString();
                consumptionName = invoiceSetupItem.Consumption.Description;
            }
            invoiceSetupItemApiModel.Id            = invoiceSetupItem.Id == Guid.Empty ? "" : invoiceSetupItem.Id.ToString();
            invoiceSetupItemApiModel.Description   = invoiceSetupItem.Description;
            invoiceSetupItemApiModel.ItemId        = invoiceSetupItem.ServiceId.ToString();
            invoiceSetupItemApiModel.ConsumptionId = consumptionId;
            invoiceSetupItemApiModel.Item          = invoiceSetupItem.Service.Name;
            invoiceSetupItemApiModel.Consumption   = consumptionName;
            invoiceSetupItemApiModel.Amount        = invoiceSetupItem.Amount;
            return(invoiceSetupItemApiModel);
        }
        private List <ErrorInfo> ValidateUpdate(InvoiceSetupItem invoiceSetupItem)
        {
            List <ErrorInfo> errorInfos = new List <ErrorInfo>();

            return(errorInfos);
        }