private ShopFloorModel CreateShopFloorModel(int id, string stocknumber) { ShopFloorModel model = new ShopFloorModel(); if (id > 0) { model.Invoice = InvoiceServices.GetInvoice(id); if (model.Invoice == null) { model.NoDataMessage = string.Format("We could not find an invoice with an id = {0}", id); } } else if (!string.IsNullOrEmpty(stocknumber)) { model.Invoice = InvoiceServices.GetInvoice(stocknumber); if (model.Invoice == null) { model.NoDataMessage = string.Format("We could not find an invoice with a stock number = {0}", stocknumber); } } else { model.NoDataMessage = "There are no vehicles logged into the shop at this time"; } model.Services = InvoiceServices.GetServices(base.LocationId, model.Invoice); model.VehiclesInShop = NavigationServices.GetVehiclesInShop(base.LocationId).OrderBy(o => o.Id).ToList(); model.VehiclesCompleted = NavigationServices.GetVehiclesCompletedToday(base.LocationId).OrderBy(o => o.Id).ToList(); return(model); }
/// <summary> /// Изменить запись /// </summary> protected void Edit(InvoiceServices item) { //Готовим модель представления invoiceService = item; OpenModal(); InvoiceServiceModel.IdService = invoiceService.Invoice.ToString(); }
public void CreateInvoice_with_invalid_amount() { var testClass = new InvoiceServices(_invoiceRepository.Object, _customerService.Object, _companyService.Object); testClass.CreateInvoice(1, 1, -1); }
public ActionResult DeleteInvoice(int invoiceId) { var invoice = InvoiceServices.DeleteInvoice(invoiceId); NavigationServices.ClearCache(base.LocationId); return(Json("ok")); }
public ActionResult InvoiceReport(int id) { InvoiceReportModel model = new InvoiceReportModel(); model.Invoice = InvoiceServices.GetInvoice(id); model.Account = AccountServices.GetAccount(model.Invoice.AccountName); model.Header = new ReportHeaderModel("Invoice"); return(View(model)); }
public ActionResult RecallVehicle(int invoiceId) { var invoice = InvoiceServices.RecallInvoice(invoiceId); NavigationServices.AddVehicleToInShopList(base.LocationId, invoice); if (invoice.CompleteDate > DateTime.Today) { NavigationServices.RemoveVehicleFromCompletedTodayList(base.LocationId, invoice); } return(Json("ok")); }
public ActionResult AddService(int invoiceId, int serviceTypeId, decimal?rate) { decimal initialRate = 0; if (rate.HasValue) { initialRate = rate.Value; } var invoice = InvoiceServices.AddService(invoiceId, serviceTypeId, initialRate); return(PartialView("_ServiceList", invoice.ServiceList)); }
public ActionResult SignIn(int id) { var employee = EmployeeServices.GetUser(id); if (employee == null) { throw new ArgumentException(string.Format("No employee found with an id = {0}", id)); } SecurityServices.SignIn(employee, base.LocationId); var employees = InvoiceServices.GetSignedInEmployees(base.LocationId, forceRefresh: true); return(PartialView("_AvailableEmployees", employees)); }
public ActionResult NewVehicle(NewInvoiceModel invoice) { if (ModelState.IsValid) { var newInvoice = InvoiceServices.CreateInvoice(invoice, base.LocationId); NavigationServices.AddVehicleToInShopList(base.LocationId, newInvoice); return(RedirectToAction("GetInvoice", new { id = newInvoice.Id })); } // Invalid - redisplay with errors ViewBag.AccountTypes = AccountTypeServices.GetAccountTypes(false, invoice.AccountTypeId); return(View("NewVehicle", invoice)); }
public ActionResult CompleteVehicle(int invoiceId) { var invoice = InvoiceServices.CompleteInvoice(invoiceId); if (string.IsNullOrEmpty(invoice.StockNumber)) { throw new InvalidOperationException("The stock number cannot be empty"); } NavigationServices.RemoveVehicleFromInShopList(base.LocationId, invoice); NavigationServices.AddVehicleToCompletedTodayList(base.LocationId, invoice); return(Json("ok")); }
/// <summary> /// Добавить дело /// </summary> protected async Task AddAsync() { //Получаем id сервиса int idService = int.Parse(InvoiceServiceModel.IdService); //Последнее показание счетчика int amount = 0; //Получаем сервис по id и проверяем его на null service = services.FirstOrDefault(s => s.IdService == idService); if (service != null) { //Если сервис подразумевает наличие счетчика получаем последнее показания if (service.IsCounter) { amount = counters.Where(s => s.IdService == idService).Select(c => c.ValueCounter).Max(); } //Проверяем если ли текущая модель if (invoiceService == null) { //Создаем и инициализируем модель invoiceService = new InvoiceServices() { IdInvoice = Invoice.IdInvoice, IdService = idService, Amount = amount }; //Если модель уникальная, записываем ее в БД if (invoiceServicesList.FirstOrDefault(ins => ins.Equals(invoiceService)) == null) { await Repository.AddAsync(invoiceService); } } else { //Меняем Модель invoiceService.IdService = idService; await Repository.EditAsync(invoiceService); } } invoiceService = default; service = default; await StateUpdate(); CloseModal(); }
public ActionResult GetInvoice(int id) { ShopFloorModel model = CreateShopFloorModel(id, null); ViewBag.ActiveEmployees = EmployeeServices.GetActiveEmployees(); ViewBag.SignedInEmployees = InvoiceServices.GetSignedInEmployeeSelectList(base.LocationId); if (model.Invoice == null) { return(View("Index_NoData", model)); } if (!string.IsNullOrEmpty(model.Invoice.StockNumber)) { model.Invoice.History = InvoiceServices.GetStockNumberHistory(model.Invoice); } return(View("Index", model)); }
public ActionResult SignOut(int?id) { if (id.HasValue) { var employee = EmployeeServices.GetUser(id.Value); if (employee == null) { throw new ArgumentException(string.Format("No employee found with an id = {0}", id.Value)); } SecurityServices.SignOut(employee, base.LocationId); } else { var signedIn = InvoiceServices.GetSignedInEmployees(base.LocationId, forceRefresh: true); foreach (var e in signedIn) { SecurityServices.SignOut(e, base.LocationId); } } var employees = InvoiceServices.GetSignedInEmployees(base.LocationId, forceRefresh: true); return(PartialView("_AvailableEmployees", employees)); }
/// <summary> /// Удалить запись /// </summary> protected async Task RemoveAsync(InvoiceServices item) { await Repository.RemoveAsync(item.IdInvoiceServices); await StateUpdate(); }
public InvoicesController() { _invoiceServices = new InvoiceServices(Token); }
public ActionResult UpdateInvoice(int invoiceId, string field, string value) { InvoiceServices.UpdateInvoice(invoiceId, field, value); return(Json(new { result = "ok" })); }
public ActionResult RemoveLaborFromAccountType(int accountTypeId, int accountTypeServiceId, int accountTypeLaborId) { AccountTypeServices.RemoveLaborFromAccountType(accountTypeId, accountTypeServiceId, accountTypeLaborId); InvoiceServices.ClearAvailableTypeCache(); return(Json("ok")); }
public ActionResult UpdateLaborType(int id, string description) { AccountTypeServices.UpdateLaborType(id, description); InvoiceServices.ClearAvailableTypeCache(); return(Json("ok")); }
public ActionResult AddHistory(int invoiceId, string note) { var history = InvoiceServices.AddHistory(invoiceId, note); return(PartialView("_HistoryList", history)); }
public InvoiceController(InvoiceContent context) { _context = context; _service = new InvoiceServices(context); }
public ActionResult EditLaborRate(int invoiceId, int laborId, decimal rate) { var invoice = InvoiceServices.UpdateLaborRate(invoiceId, laborId, rate); return(PartialView("_LaborList", invoice.LaborList)); }
public ActionResult UpdateAccount(int invoiceId, int accountId) { InvoiceServices.UpdateAccount(invoiceId, accountId); return(Json(new { result = "ok" })); }
public ActionResult AddLaborToAccountType(int accountTypeId, int accountTypeServiceId, int laborTypeId) { AccountTypeServices.AddLaborToAccountType(accountTypeId, accountTypeServiceId, laborTypeId); InvoiceServices.ClearAvailableTypeCache(); return(Json("ok")); }
public ActionResult DeleteService(int invoiceId, int serviceId) { var invoice = InvoiceServices.DeleteService(invoiceId, serviceId); return(PartialView("_ServiceList", invoice.ServiceList)); }
public ActionResult EditServiceRate(int invoiceId, int serviceId, decimal rate) { var invoice = InvoiceServices.UpdateServiceRate(invoiceId, serviceId, rate); return(PartialView("_ServiceList", invoice.ServiceList)); }
public ActionResult AddLabor(int invoiceId, int laborTypeId, decimal rate) { var invoice = InvoiceServices.AddLabor(invoiceId, laborTypeId, rate); return(PartialView("_LaborList", invoice.LaborList)); }
public PaymentsController(InvoiceServices invoicesManager, PaymentServices paymentsManager) { this.invoicesManager = invoicesManager; this.paymentsManager = paymentsManager; }
public ActionResult AddEmployeeToLabor(int invoiceId, int laborId, int employeeId) { var invoice = InvoiceServices.UpdateLabor(invoiceId, laborId, employeeId, base.LocationId); return(PartialView("_LaborList", invoice.LaborList)); }
public RecieptController(IOptions <InvoiceServices> invoiceServices) { this._invoiceServices = invoiceServices.Value; }
public ActionResult DeleteLabor(int invoiceId, int laborId) { var invoice = InvoiceServices.DeleteLabor(invoiceId, laborId); return(PartialView("_LaborList", invoice.LaborList)); }