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