// GET: ServiceCost public ActionResult Index() { ServiceCostViewModel scvm = new ServiceCostViewModel(); scvm.Print = false; return(View("Index", scvm)); }
public async Task <ActionResult> Cost(string ptid) { ServiceCostViewModel viewModel = (ServiceCostViewModel)TempData["TeachingCostViewModel"]; try { if (viewModel == null) { _viewModel = new ServiceCostViewModel(); } else { _viewModel = viewModel; } if (!string.IsNullOrWhiteSpace(ptid)) { if (_viewModel.Subscribers == null || _viewModel.Subscribers.Count <= 0) { _viewModel.Subscribers = _da.GetModelsBy <PersonType, PERSON_TYPE>(p => p.Person_Type_Id != 1); } List <PersonType> personTypes = null; if (_viewModel.Subscribers != null && _viewModel.Subscribers.Count > 0) { personTypes = _viewModel.Subscribers.Where(u => ptid.Contains(u.Id.ToString())).ToList(); if (personTypes != null && personTypes.Count > 0) { _viewModel.PersonTypeSelectList = DropdownUtility.PopulateModelSelectListHelper(personTypes, false, "-- Select Your Category --"); if (personTypes.Count == 1) { ViewBag.PersonTypes = new SelectList(_viewModel.PersonTypeSelectList, DropdownUtility.VALUE, DropdownUtility.TEXT, personTypes[0].Id); } else { ViewBag.PersonTypes = _viewModel.PersonTypeSelectList; } } else { _viewModel.PersonTypeSelectList = new List <SelectListItem>(); } } else { _viewModel.PersonTypeSelectList = new List <SelectListItem>(); } } await LoadPersonType(); await InitializeTeachingCostHelper(); await InitializeTeacherAvailabilityHelper(); _viewModel.ServiceCharges = await _da.GetAllAsync <ServiceCharge, SERVICE_CHARGE>(); _viewModel.TeacherAvailabilities = UiUtility.InitializeAvailability(_viewModel.WeekDays, _viewModel.Periods); _viewModel.TeachingCosts = UiUtility.InitializeTeachingCost(_viewModel.StudentCategories, _viewModel.QualificationCategories, _viewModel.ExistingTeachingCosts); } catch (Exception ex) { _logger.LogError(ex); SetMessage(ex.Message, ApplicationMessage.Category.Error); } TempData["TeachingCostViewModel"] = _viewModel; return(View(_viewModel)); }
public ActionResult ServiceCost(ServiceCostViewModel scvm) { try { if (scvm.DateStart == null || scvm.DateEnd == null ) { scvm.ViewMessage = "Ponovno preverite vnešene podatke!"; return(View("Index", scvm)); } /* * if (scvm.DateStart < DateTime.Now.Date || scvm.DateEnd < DateTime.Now.Date) * { * scvm.ViewMessage = "Vsaj eden izmed datumov je preteklost"; * return View("Index", scvm); * } */ if (scvm.DateEnd < scvm.DateStart) { scvm.ViewMessage = "Datum konca je pred datumom začetka"; return(View("Index", scvm)); } List <Service> s = DB.Services.ToList(); scvm.ServiceType = new string[s.Count + 1]; for (int i = 0; i < s.Count; i++) { scvm.ServiceType[i] = s.ElementAt(i).ServiceTitle; } scvm.ServiceType[scvm.ServiceType.Length - 1] = "Skupno"; List <Visit> visits = DB.Visits.Where(x => x.DateConfirmed >= scvm.DateStart && x.DateConfirmed <= scvm.DateEnd).ToList(); scvm.Count = new int[s.Count + 1]; scvm.ServiceTotal = new double[s.Count + 1]; scvm.MedicineTotal = new double[s.Count + 1]; scvm.Total = new double[s.Count + 1]; foreach (var v in visits) { scvm.Count[v.WorkOrder.Service.ServiceId - 1]++; scvm.ServiceTotal[v.WorkOrder.Service.ServiceId - 1] += v.WorkOrder.Service.Cost; List <MedicineWorkOrder> a = v.WorkOrder.MedicineWorkOrders.ToList(); foreach (var m in a) { scvm.MedicineTotal[v.WorkOrder.Service.ServiceId - 1] += m.Medicine.Cost; } } for (int i = 0; i < s.Count; i++) { scvm.Count[scvm.ServiceType.Length - 1] += scvm.Count[i]; scvm.ServiceTotal[scvm.ServiceType.Length - 1] += scvm.ServiceTotal[i]; scvm.MedicineTotal[scvm.ServiceType.Length - 1] += scvm.MedicineTotal[i]; } for (int i = 0; i < s.Count + 1; i++) { scvm.Total[i] = scvm.ServiceTotal[i] + scvm.MedicineTotal[i]; } scvm.Print = true; return(View("Index", scvm)); } catch (Exception e) { scvm.ViewMessage = "Prišlo je do hujše napake!"; return(View("Index", scvm)); } }