/** * save file using kendo file uploader * menangani kalau nama file sama * The Name of the Upload component is "files" * currently not support multiple uploads * * @return filepath ex "~/Uploads/rekadia.jpg" */ public string Save(IEnumerable <HttpPostedFileBase> files) { //kamus lokal string fileName = "", savedFilename = "", physicalPath = "", imagePath = "", friendlyFilename = ""; //algoritma if (files != null) { foreach (var file in files) { var identifier = Guid.NewGuid(); bool fileDirectory = Directory.Exists(Server.MapPath(FILE_DIRECTORY)); if (fileDirectory == false) { Directory.CreateDirectory(Server.MapPath(FILE_DIRECTORY)); } fileName = Path.GetFileNameWithoutExtension(file.FileName); friendlyFilename = new DisplayFormatHelper().URLFriendly(fileName) + Path.GetExtension(file.FileName); savedFilename = identifier + "_" + friendlyFilename; //save file physicalPath = Path.Combine(Server.MapPath(FILE_DIRECTORY), savedFilename); file.SaveAs(physicalPath); } } imagePath = FILE_DIRECTORY + savedFilename; return(new JavaScriptSerializer().Serialize(new { filepath = imagePath, filename = friendlyFilename, absolutepath = VirtualPathUtility.ToAbsolute(imagePath) })); }
public ActionResult Download() { DisplayFormatHelper dfh = new DisplayFormatHelper(); List <log> logs = RepoLog.Find(); LogPresentationStub stub = new LogPresentationStub(); MemoryStream ms = stub.GenerateExcel(stub.MapList(logs)); string filename = string.Format("log {0}.xlsx", DateTime.Now.ToString(dfh.SqlDateFormat)); return(File(ms.ToArray(), "application/vns.ms-excel", filename)); }
public CostFormStub(expense dbItem) { DisplayFormatHelper dfh = new DisplayFormatHelper(); this.Id = dbItem.id; this.IdRent = dbItem.id_rent; this.CustomerName = dbItem.rent.customer.name; this.StartRent = dbItem.rent.start_rent.ToString(dfh.FullDateTimeFormat) + " s/d " + dbItem.rent.finish_rent.ToString(dfh.FullDateTimeFormat); this.Date = dbItem.date; this.RentCode = dbItem.rent.code; List <expense_item> expenseItemList = dbItem.expense_item.ToList(); }
public CarExpenseFormStub(car_expense dbItem) { DisplayFormatHelper dfh = new DisplayFormatHelper(); this.Id = dbItem.id; this.ExpenseType = dbItem.expense_type; this.ExpenseDate = dbItem.expense_date; this.IdCar = dbItem.id_car; this.Other = dbItem.other; this.Distance = dbItem.distance; this.ExpenseValue = dbItem.expense_value; this.Attachment = dbItem.attachment; this.LicensePlate = dbItem.car.license_plate; this.CarBrandName = dbItem.car.car_model.car_brand.id; this.Notes = dbItem.notes; }
public string Binding() { //kamus DisplayFormatHelper dfh = new DisplayFormatHelper(); GridRequestParameters param = GridRequestParameters.Current; List <ChartAttribute> result; List <rent> items = null; DailyFilterModel fm; Guid idOwner = (Guid)(User as CustomPrincipal).IdOwner; //algoritma fm = ParseFilterInfo(param.Filters); items = RepoRent.FindAll(idOwner, fm.StartDate, fm.EndDate).Where(n => n.id_car != null && n.car.is_active == true).ToList(); result = GenerateReport(items, fm.StartDate, fm.EndDate); return(new JavaScriptSerializer().Serialize(result)); }
public string Binding() { //kamus DisplayFormatHelper dfh = new DisplayFormatHelper(); GridRequestParameters param = GridRequestParameters.Current; List <ChartAttribute> result; List <invoice> items = null; DailyMonthlyFilterModel fm; Business.Infrastructure.FilterInfo filters; Guid idOwner = (Guid)(User as CustomPrincipal).IdOwner; //algoritma fm = ParseFilterInfo(param.Filters); filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo> { new Business.Infrastructure.FilterInfo { Field = "rent.id_owner", Operator = "eq", Value = idOwner.ToString() }, new Business.Infrastructure.FilterInfo { Field = "invoice_date", Operator = "gte", Value = fm.StartDate.ToString(dfh.SqlDateFormat) }, new Business.Infrastructure.FilterInfo { Field = "invoice_date", Operator = "lte", Value = fm.EndDate.ToString(dfh.SqlDateFormat) }, new Business.Infrastructure.FilterInfo { Field = "status", Operator = "neq", Value = InvoiceStatus.CANCEL.ToString() } }, Logic = "and" }; items = RepoInvoice.FindAll(null, null, null, filters); result = GenerateReport(fm.ReportType, items, fm.StartDate, fm.EndDate); return(new JavaScriptSerializer().Serialize(result)); }
public ActionResult Create(CarExpenseFormStub model, bool print = false) { //bool isNameExist = RepoCar.Find().Where(p => p.name == model.Name).Count() > 0; if (model.ExpenseType != CarExpenseType.MAINTENANCE.ToString()) { ModelState.Remove("Distance"); } if (ModelState.IsValid) { car_expense dbItem = model.GetDbObject((User as CustomPrincipal).Identity.Name); try { RepoCarExpense.Save(dbItem); } catch (Exception e) { ModelState.AddModelError("Id", e.Message); FillModelOptions(model); return(View("Form", model)); } //message DisplayFormatHelper dfh = new DisplayFormatHelper(); string template = HttpContext.GetGlobalResourceObject("MyGlobalMessage", "CreateSuccess").ToString(); this.SetMessage(model.LicensePlate, template); return(RedirectToAction("Index")); } else { FillModelOptions(model); return(View("Form", model)); } }
public InvoiceFormStub(invoice dbItem, List <Business.Entities.rent> listRent) : this(listRent) { DisplayFormatHelper dfh = new DisplayFormatHelper(); this.Id = dbItem.id; this.IdRent = dbItem.id_rent; this.CustomerName = dbItem.rent.customer.name; this.StartRent = dbItem.rent.start_rent.ToString(dfh.FullDateTimeFormat) + " s/d " + dbItem.rent.finish_rent.ToString(dfh.FullDateTimeFormat); this.Code = dbItem.code; this.InvoiceDate = dbItem.invoice_date; this.Price = dbItem.price; this.Status = dbItem.status; this.Notes = dbItem.cancel_notes; this.RentCode = dbItem.rent.code; this.PPN = dbItem.ppn; AdditionalItem = new List <InvoiceItemFormStub>(); foreach (invoice_item single in dbItem.invoice_item) { AdditionalItem.Add(new InvoiceItemFormStub(single)); } AdditionalItemText = new JavaScriptSerializer().Serialize(AdditionalItem); }
public HttpResponseMessage CheckAvailability([FromBody] CheckAvailabilityParam param) { //kamus List <CarModel> result = new List <CarModel>(); DisplayFormatHelper dfh = new DisplayFormatHelper(); List <car> ownerCars = new List <car>(); List <rent> rents = new List <rent>(); Dictionary <string, Guid> cityMap; Guid idOwner = new Guid(); List <Guid> rentedCars; string message = null; HttpResponseMessage responseMessage = new HttpResponseMessage(); HttpStatusCode httpStatus = HttpStatusCode.OK; bool isDataValid = true; log_ws logWs = new log_ws(); JavaScriptSerializer serializer = new JavaScriptSerializer(); Business.Infrastructure.FilterInfo filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; DateTime dtStart, dtFinish; DateTimeOffset dtoStart, dtoFinish; //algoritma //hardcode data cityMap = new Dictionary <string, Guid>(); cityMap.Add("bali", new Guid("9e9af49f-742a-40a2-9338-228e56060442")); cityMap.Add("surabaya", new Guid("7a683eb8-656d-4b4c-be71-157dd2328a64")); //mengecek validitas data if (param.StartRent == null || param.FinishRent == null) { isDataValid = false; message = HttpContext.GetGlobalResourceObject("WebServiceMessage", "DateNullAlert").ToString(); httpStatus = HttpStatusCode.BadRequest; } //algoritma if (isDataValid) { dtStart = new DateTime(param.StartRent.Value.Year, param.StartRent.Value.Month, param.StartRent.Value.Day, 0, 0, 0); dtStart = DateTime.SpecifyKind(dtStart, DateTimeKind.Local); dtoStart = dtStart; dtFinish = new DateTime(param.FinishRent.Value.Year, param.FinishRent.Value.Month, param.FinishRent.Value.Day, 23, 59, 59); dtFinish = DateTime.SpecifyKind(dtFinish, DateTimeKind.Local); dtoFinish = dtFinish; param.City = param.City.ToLower(); if (cityMap.ContainsKey(param.City)) { idOwner = cityMap[param.City]; //mengambil rent dari start s/d finish untuk owner tertentu rents = RepoRent.FindAll(idOwner, dtStart, dtFinish); rents.RemoveAll(m => m.finish_rent == dtoStart); rents.RemoveAll(m => m.start_rent == dtoFinish); //mengambil car sesuai parameter //mengambil car sesuai parameter filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "id_owner", Operator = "eq", Value = idOwner.ToString() }); if (param.CarBrandName != null) { filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "car_model.car_brand.name", Operator = "eq", Value = param.CarBrandName }); } if (param.CarModelName != null) { filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "car_model.name", Operator = "eq", Value = param.CarModelName }); } if (param.Capacity != null) { filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "car_model.capacity", Operator = "gte", Value = param.Capacity.Value.ToString() }); } ownerCars = RepoCar.FindAll(null, null, null, filters); //menghapus car yang sudah ada di rent rentedCars = rents.Select(m => m.id_car_model).ToList(); //menghapus mobil yang sudah di-booking car carByModel; foreach (Guid idCarModel in rentedCars) { carByModel = ownerCars.Where(m => m.id_car_model == idCarModel).FirstOrDefault(); if (carByModel != null) { ownerCars.Remove(carByModel); } } result = CarModel.Map(ownerCars); //mapping dbItems ke PresentationStub } } //menyimpan data ke log_ws //menggunakan ILogRepository.SaveLogWS logWs.created_time = DateTimeOffset.Now; logWs.request_body = serializer.Serialize(param); logWs.response_body = serializer.Serialize(result); logWs.url = HttpContext.Current.Request.Url.AbsolutePath; RepoLog.SaveLogWS(logWs); if (message != null) { HttpContext.Current.Response.AppendHeader("ResponseMessage", message); } return(Request.CreateResponse(httpStatus, result)); }
private BookingStatisticModel CalculateStatistic() { //kamus DisplayFormatHelper dfh = new DisplayFormatHelper(); int statistic; Business.Infrastructure.FilterInfo filters, singleFilter; BookingStatisticModel model = new BookingStatisticModel(); //algoritma CustomPrincipal user = User as CustomPrincipal; if (user.IdOwner != null) { //berangkat besok filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo> { new Business.Infrastructure.FilterInfo { Field = "start_rent", Operator = "eq", Value = DateTime.Now.AddDays(1).ToString(dfh.SqlDateFormat) }, new Business.Infrastructure.FilterInfo { Field = "status", Operator = "neq", Value = RentStatus.CANCEL.ToString() } }, Logic = "and" }; AddOwnerFilter(filters, user.IdOwner.Value); statistic = RepoRent.Count(filters); model.TomorrowDeparture = statistic; //belum ditugaskan filters.Filters.Clear(); filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "status", Operator = "neq", Value = RentStatus.CANCEL.ToString() }); AddOwnerFilter(filters, user.IdOwner.Value); statistic = RepoRent.CountUnassignedCar(filters); model.UnassignedCar = statistic; statistic = RepoRent.CountUnassignedDriver(filters); model.UnassignedDriver = statistic; //unpaid filters.Filters.Clear(); singleFilter = new Business.Infrastructure.FilterInfo { Field = "rent.id_owner", Operator = "eq", Value = user.IdOwner.ToString() }; filters.Filters.Add(singleFilter); singleFilter = new Business.Infrastructure.FilterInfo { Field = "status", Operator = "eq", Value = InvoiceStatus.UNPAID.ToString() }; filters.Filters.Add(singleFilter); statistic = RepoInvoice.Count(filters); model.UnpaidInvoice = statistic; //cancel filters.Filters.Clear(); singleFilter = new Business.Infrastructure.FilterInfo { Field = "status", Operator = "eq", Value = RentStatus.CANCEL.ToString() }; filters.Filters.Add(singleFilter); AddOwnerFilter(filters, user.IdOwner.Value); statistic = RepoRent.Count(filters); model.CancelledRent = statistic; } return(model); }
public RentResponse Create([FromBody] RentParam param) { //kamus RentResponse result = new RentResponse(); DisplayFormatHelper dfh = new DisplayFormatHelper(); List <Guid> idCar = new List <Guid>(); List <car_model> carModel = new List <car_model>(); rent dataRent = new rent(); List <rent> rents = new List <rent>(); Dictionary <string, Guid> cityMap; Guid idOwner = new Guid(); string code; string city; Guid customerId; List <customer> customerList; bool isDataValid = true; Business.Infrastructure.FilterInfo filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; DateTime dtStart, dtFinish; DateTimeOffset dtoStart, dtoFinish; DateTime dtNull = DateTime.Parse("01/01/0001 00:00:00"); List <car> ownerCars = new List <car>(); List <Guid> rentedCars; BookingFormStub bfs; rent dbItem; ApiRentFormStub afs; api_rent apiRent; log_api_rent logApiRent; //hardcode data cityMap = new Dictionary <string, Guid>(); cityMap.Add("bali", new Guid("9e9af49f-742a-40a2-9338-228e56060442")); cityMap.Add("surabaya", new Guid("7a683eb8-656d-4b4c-be71-157dd2328a64")); //algoritma #region check data //mengecek validitas parameter if (param.StartRent == null) { isDataValid = false; result.Success = false; result.Message = "Parameter StartRent wajib diisi"; } if (isDataValid) { if (param.FinishRent == null) { isDataValid = false; result.Success = false; result.Message = "Parameter FinishRent wajib diisi"; } } if (isDataValid) { if (param.City == "") { isDataValid = false; result.Success = false; result.Message = "Parameter City wajib diisi"; } } if (isDataValid) { if (param.CarBrandName == "") { isDataValid = false; result.Success = false; result.Message = "Parameter CarBrandName wajib diisi"; } } if (isDataValid) { if (param.CarModelName == "") { isDataValid = false; result.Success = false; result.Message = "Parameter CarModelName wajib diisi"; } } if (isDataValid) { if (param.CustomerName == "") { isDataValid = false; result.Success = false; result.Message = "Parameter CustomerName wajib diisi"; } } if (isDataValid) { if (param.CustomerPhoneNumber == "") { isDataValid = false; result.Success = false; result.Message = "Parameter CustomerPhoneNumber wajib diisi"; } } if (isDataValid) { if (param.PickupLocation == "") { isDataValid = false; result.Success = false; result.Message = "Parameter PickupLocation wajib diisi"; } } if (isDataValid) { city = param.City.ToLower(); if (cityMap.ContainsKey(city)) { idOwner = cityMap[city]; } else { isDataValid = false; result.Message = "Kota yang anda pilih saat ini belum tersedia"; } } if (isDataValid) { //mengambil semua mobil milik owner filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "id_owner", Operator = "eq", Value = idOwner.ToString() }); if (param.CarBrandName != null) { filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "car_model.car_brand.name", Operator = "eq", Value = param.CarBrandName }); } if (param.CarModelName != null) { filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "car_model.name", Operator = "eq", Value = param.CarModelName }); } ownerCars = RepoCar.FindAll(null, null, null, filters); //mengambil booking pada tanggal sesuai request dtStart = new DateTime(param.StartRent.Value.Year, param.StartRent.Value.Month, param.StartRent.Value.Day, 0, 0, 0); dtStart = DateTime.SpecifyKind(dtStart, DateTimeKind.Local); dtoStart = dtStart; dtFinish = new DateTime(param.FinishRent.Value.Year, param.FinishRent.Value.Month, param.FinishRent.Value.Day, 23, 59, 59); dtFinish = DateTime.SpecifyKind(dtFinish, DateTimeKind.Local); dtoFinish = dtFinish; rents = RepoRent.FindAll(idOwner, dtStart, dtFinish); rents.RemoveAll(m => m.finish_rent == dtoStart); rents.RemoveAll(m => m.start_rent == dtoFinish); rentedCars = rents.Select(m => m.id_car_model).ToList(); //menghapus mobil yang sudah di-booking car carByModel; foreach (Guid idCarModel in rentedCars) { carByModel = ownerCars.Where(m => m.id_car_model == idCarModel).FirstOrDefault(); if (carByModel != null) { ownerCars.Remove(carByModel); } } if (ownerCars.Count() == 0) { isDataValid = false; result.Message = "Mobil tidak tersedia"; } } #endregion if (isDataValid)//insert booking { //mengecek ketersediaan mobil owner owner = RepoOwner.FindByPk(idOwner); code = RepoRent.GenerateRentCode(owner); //membuat booking baru customerList = new List <customer>(); Business.Infrastructure.FilterInfo filterCust = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; filterCust.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "phone_number", Operator = "eq", Value = param.CustomerPhoneNumber }); filterCust.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "id_owner", Operator = "eq", Value = idOwner.ToString() }); customerList = RepoCustomer.FindAll(null, null, null, filterCust); if (customerList.Count() > 0) { customerId = customerList.FirstOrDefault().id; } else { customer cust = new customer { name = param.CustomerName, id_owner = idOwner, phone_number = param.CustomerPhoneNumber }; RepoCustomer.Save(cust); customerId = cust.id; } //if (tempCustomer.Where(n => n.phone_number == param.CustomerPhoneNumber && n.id_owner != idOwner).Count() > 0) //{ // CustomerID = new Guid(); // customer cust = new customer // { // id = CustomerID, // name = param.CustomerName, // id_owner = idOwner, // phone_number = param.CustomerPhoneNumber // }; // RepoCustomer.Save(cust); //} //membuat BookingFormStub bfs = new BookingFormStub(); dtStart = new DateTime(param.StartRent.Value.Year, param.StartRent.Value.Month, param.StartRent.Value.Day, param.StartRent.Value.Hour, param.StartRent.Value.Minute, param.StartRent.Value.Second); dtStart = DateTime.SpecifyKind(dtStart, DateTimeKind.Local); dtoStart = dtStart; dtFinish = new DateTime(param.FinishRent.Value.Year, param.FinishRent.Value.Month, param.FinishRent.Value.Day, param.FinishRent.Value.Hour, param.FinishRent.Value.Minute, param.FinishRent.Value.Second); dtFinish = DateTime.SpecifyKind(dtFinish, DateTimeKind.Local); dtoFinish = dtFinish; bfs.Code = code; bfs.PhoneNumber = param.CustomerPhoneNumber; bfs.IdCustomer = customerId; bfs.PickupLocation = param.PickupLocation; bfs.IdCarModel = ownerCars.FirstOrDefault().id_car_model; bfs.StartRent = dtoStart; bfs.FinishRent = dtoFinish; bfs.Price = 0; bfs.Status = RentStatus.NEW; bfs.IdCarPackage = new Guid("0abd31d3-2857-4311-a468-48538bbd790c"); bfs.PackagePrice = 0; //save dbItem = bfs.GetDbObjectOnCreate("aerotrans", idOwner); RepoRent.Save(dbItem); //save to table api_rent afs = new ApiRentFormStub(); afs.SetNewRent(dbItem, "ATS"); apiRent = afs.GetDbObjectOnCreate("aerotrans"); RepoApiRent.Save(apiRent); result.Success = true; result.RentCode = code; } return(result); }
public ActionResult Edit(CostFormStub model, bool print = false) { //bool isNameExist = RepoCar.Find().Where(p => p.name == model.Name).Count() > 0; if (ModelState.IsValid) { expense dbItem = RepoExpense.FindByPk(model.Id); //List<expense_item> expenseItemList = dbItem.expense_item.ToList(); List <expense_item> expenseItemList = dbItem.expense_item.Where(n => n.id_expense == dbItem.id).ToList(); dbItem = model.SetDbObject(dbItem, (User as CustomPrincipal).Identity.Name); try { RepoExpense.Save(dbItem); foreach (expense_item items in expenseItemList) { if (items.category.Equals(ExpenseItemCategory.VEHICLE.ToString())) { items.value = model.ValueVehicle; RepoExpense.SaveItem(items); } if (items.category.Equals(ExpenseItemCategory.DRIVER.ToString())) { items.value = model.ValueDriver; RepoExpense.SaveItem(items); } if (items.category.Equals(ExpenseItemCategory.GAS.ToString())) { items.value = model.ValueGas; RepoExpense.SaveItem(items); } if (items.category.Equals(ExpenseItemCategory.TOLL.ToString())) { items.value = model.ValueToll; RepoExpense.SaveItem(items); } if (items.category.Equals(ExpenseItemCategory.PARKING.ToString())) { items.value = model.ValueParking; RepoExpense.SaveItem(items); } if (items.category.Equals(ExpenseItemCategory.OTHER.ToString())) { items.value = model.ValueOther; RepoExpense.SaveItem(items); } items.description = model.Description; RepoExpense.SaveItem(items); } //foreach() } catch (Exception e) { Guid idOwner = (User as CustomPrincipal).IdOwner.Value; List <Business.Entities.rent> listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner).ToList(); model.FillRentOptions(listRent); model.FillCategoryOptions(); return(View("Form", model)); } //message DisplayFormatHelper dfh = new DisplayFormatHelper(); string template = HttpContext.GetGlobalResourceObject("MyGlobalMessage", "EditSuccess").ToString(); this.SetMessage("Pengeluaran " + model.Date.ToString(dfh.FullDateFormat), template); //print flag if (print) { TempData["idPrint"] = dbItem.id; } return(RedirectToAction("Index")); } else { Guid?idOwner = (User as CustomPrincipal).IdOwner; List <Business.Entities.rent> listRent = new List <rent>(); if (idOwner.HasValue) { listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList(); } model.FillRentOptions(listRent); model.FillCategoryOptions(); return(View("Form", model)); } }
public ActionResult Create(CostFormStub model, bool print = false) { //bool isNameExist = RepoCar.Find().Where(p => p.name == model.Name).Count() > 0; if (ModelState.IsValid) { expense dbItem = new expense(); expense_item expenseItem; dbItem = model.GetDbObject((User as CustomPrincipal).Identity.Name); try { RepoExpense.Save(dbItem); //save mobil expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.VEHICLE.ToString(), value = model.ValueVehicle, description = model.Description }; RepoExpense.SaveItem(expenseItem); expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.DRIVER.ToString(), value = model.ValueDriver, description = model.Description }; RepoExpense.SaveItem(expenseItem); expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.GAS.ToString(), value = model.ValueGas, description = model.Description }; RepoExpense.SaveItem(expenseItem); expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.TOLL.ToString(), value = model.ValueToll, description = model.Description }; RepoExpense.SaveItem(expenseItem); expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.PARKING.ToString(), value = model.ValueParking, description = model.Description }; RepoExpense.SaveItem(expenseItem); expenseItem = new expense_item { id_expense = dbItem.id, category = ExpenseItemCategory.OTHER.ToString(), value = model.ValueOther, description = model.Description }; RepoExpense.SaveItem(expenseItem); //save supir //save ... } catch (Exception e) { Guid?idOwner = (User as CustomPrincipal).IdOwner; List <Business.Entities.rent> listRent = new List <rent>(); if (idOwner.HasValue) { listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList(); } model.FillRentOptions(listRent); model.FillCategoryOptions(); return(View("Form", model)); } //message DisplayFormatHelper dfh = new DisplayFormatHelper(); string template = HttpContext.GetGlobalResourceObject("MyGlobalMessage", "CreateSuccess").ToString(); this.SetMessage("Pengeluaran " + model.Date.ToString(dfh.FullDateFormat), template); //print flag if (print) { TempData["idPrint"] = dbItem.id; } return(RedirectToAction("Index")); } else { Guid?idOwner = (User as CustomPrincipal).IdOwner; List <Business.Entities.rent> listRent = new List <rent>(); if (idOwner.HasValue) { listRent = RepoRent.FindAll().Where(x => x.id_owner == idOwner.Value).ToList(); } model.FillRentOptions(listRent); model.FillCategoryOptions(); return(View("Form", model)); } }