public ViewResult PrintQuotation(Guid id) { rent dbItem = RepoRent.FindByPk(id); List <rent_package> listRentPackage = RepoRent.FindAllRentPackage().Where(n => n.id_rent == id).ToList(); BookingPresentationStub model = new BookingPresentationStub(dbItem, listRentPackage); return(View(model)); }
public string BindingRent(Guid id, string action) { GridRequestParameters param = GridRequestParameters.Current; Business.Infrastructure.FilterInfo filters = param.Filters; Guid? idOwner = (User as CustomPrincipal).IdOwner; List <rent> listRent = new List <rent>(); List <expense> listExpense = new List <expense>(); List <BookingPresentationStub> result = new List <BookingPresentationStub>(); Business.Infrastructure.FilterInfo filtersExpense = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; int total = 0; filtersExpense.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "rent.id_owner", Operator = "eq", Value = idOwner.ToString() }); listExpense = RepoExpense.FindAll().Where(n => n.rent.id_owner == idOwner).ToList(); if (idOwner.HasValue) { GridRequestParameters paramRent = new GridRequestParameters(); paramRent = GridRequestParameters.Current; Business.Infrastructure.FilterInfo rentFilters = paramRent.Filters; AddOwnerFilterRent(rentFilters, idOwner.Value); listRent = RepoRent.FindAll(paramRent.Skip, paramRent.Take, (paramRent.Sortings != null ? paramRent.Sortings.ToList() : null), paramRent.Filters); //menghapus booking yang sudah memiliki invoice rent idRent; foreach (expense r in listExpense) { idRent = listRent.Where(n => n.id == r.id_rent).FirstOrDefault(); if (idRent != null) { listRent.Remove(idRent); if (action == "Edit" && idRent.id == id) { listRent.Add(idRent); } } } total = listRent.Count(); } result = new BookingPresentationStub().MapList(listRent); return(new JavaScriptSerializer().Serialize(new { total = total, data = result })); }
public HttpResponseMessage Find([FromBody] GridRequestParameters param) { //kamus HttpStatusCode httpStatus = HttpStatusCode.OK; string responseMessage = null; List <rent> listRent = new List <rent>(); IEnumerable <string> headerValues; Business.Infrastructure.FilterInfo filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; List <BookingPresentationStub> results; //algoritma if (Request.Headers.TryGetValues("Username", out headerValues)) { //mengambil order berdasarkan status = 'finish' filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "driver.username", Operator = "eq", Value = headerValues.FirstOrDefault() }); filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "status", Operator = "eq", Value = RentStatus.FINISH.ToString() }); //mengambil order finish sesuai param listRent = RepoRent.FindAll(param.Skip, param.Take, (param.Sortings != null ? param.Sortings.ToList() : null), filters); } else { httpStatus = HttpStatusCode.Forbidden; } //result results = new BookingPresentationStub().MapList(listRent); if (responseMessage != null) { HttpContext.Current.Response.AppendHeader("ResponseMessage", responseMessage); } return(Request.CreateResponse(httpStatus, results)); }
/// <summary> /// special filter parameter: /// filter_date /// </summary> /// <returns></returns> public string Binding() { //kamus GridRequestParameters param = GridRequestParameters.Current; Business.Infrastructure.FilterInfo filters = param.Filters; Guid? idOwner = (User as CustomPrincipal).IdOwner; List <rent> items; List <BookingPresentationStub> result = new List <BookingPresentationStub>(); int total = 0; //algoritma if (idOwner.HasValue) { AddOwnerFilter(filters, idOwner.Value); items = RepoRent.FindAll(param.Skip, param.Take, (param.Sortings != null ? param.Sortings.ToList() : null), filters); total = RepoRent.Count(param.Filters); result = new BookingPresentationStub().MapList(items); } return(new JavaScriptSerializer().Serialize(new { total = total, data = result })); }
public RentPresentationStub(rent dbItem) { Base = new BookingPresentationStub(dbItem); CreatedTime = dbItem.created_time; OwnerName = dbItem.owner.name; }
public HttpResponseMessage Submit([FromBody] DriverPositionParam param) { //kamus BookingPresentationStub result = new BookingPresentationStub(); rent rent = new rent(); bool isDatavalid = true; List <rent> listRent = new List <rent>(); rent_position rentPos = new rent_position(); string username = null; IEnumerable <string> headerValues = Enumerable.Empty <string>(); HttpStatusCode httpStatus = HttpStatusCode.InternalServerError; string responseMessage = null; rent = RepoRent.FindByPk(param.Id); //algoritma //Mengecek Parameter //jika ID kosong, 403 Forbidden if (param.Id == Guid.Empty) { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "OrderNullAlert").ToString(); httpStatus = HttpStatusCode.Forbidden; } //cek username if (isDatavalid) { if (Request.Headers.TryGetValues("Username", out headerValues)) { username = headerValues.FirstOrDefault(); } else { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "UsernameNullAlert").ToString(); httpStatus = HttpStatusCode.Forbidden; } } //jika Username tidak sama dg username driver if (isDatavalid) { rent = RepoRent.FindByPk(param.Id); if ((rent == null) || (rent.driver == null) || (username != rent.driver.username)) { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "NotAccess").ToString(); httpStatus = HttpStatusCode.Forbidden; } } // Status Check //mengambil rent milik id Driver if (isDatavalid) { // Jika rent status GO => menyimpan kedatabase rent_position if (rent.status == RentStatus.GO.ToString()) { rentPos.id_rent = rent.id; rentPos.longitude = param.Long; rentPos.latitude = param.Lat; rentPos.created_by = rent.driver.username; rentPos.created_time = DateTime.Now; RepoPos.Save(rentPos); httpStatus = HttpStatusCode.OK; } // Jika rent status NEW => 500 Internal server error else if (rent.status == RentStatus.NEW.ToString()) { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "NewAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } // Jika rent status FINISH => 500 Internal server error else if (rent.status == RentStatus.FINISH.ToString()) { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "FinishAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } // Jika rent status CANCEL => 500 Internal Server error else { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "CancelAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } } if (responseMessage != null) { HttpContext.Current.Response.AppendHeader("ResponseMessage", responseMessage); } return(Request.CreateResponse(httpStatus)); }
//public string Binding() //{ // //kamus // GridRequestParameters param = GridRequestParameters.Current; // List<rent> items = null; // //algoritma // Guid idOwner = (Guid)(User as CustomPrincipal).IdOwner; // DateTime start = DateTime.Parse("2016-01-01"); // DateTime finish = DateTime.Parse("2016-01-10"); // items = RepoRent.FindAll(idOwner, start, finish); // return new JavaScriptSerializer().Serialize(new BookingPresentationStub().MapList(items)); //} public JsonResult Binding() { //kamus GridRequestParameters param = GridRequestParameters.Current; Guid idOwner = (Guid)(User as CustomPrincipal).IdOwner; List <rent> rents; List <car> cars; List <car_model> carModels = new List <car_model>(); DailyFilterModel fm = ParseFilterInfo(param.Filters); List <BookingPresentationStub> result = new List <BookingPresentationStub>(); Business.Infrastructure.FilterInfo filters; List <string> carModel = new List <string>(); BookingPresentationStub child; List <Guid> carsId; DateTime dtStart, dtEnd; DateTimeOffset dtoStart, dtoEnd; //algoritma dtStart = new DateTime(fm.StartDate.Year, fm.StartDate.Month, fm.StartDate.Day, fm.StartDate.Hour, fm.StartDate.Minute, fm.StartDate.Second); dtStart = DateTime.SpecifyKind(dtStart, DateTimeKind.Local); dtoStart = dtStart; dtEnd = new DateTime(fm.EndDate.Year, fm.EndDate.Month, fm.EndDate.Day, fm.EndDate.Hour, fm.EndDate.Minute, fm.EndDate.Second); dtEnd = DateTime.SpecifyKind(dtEnd, DateTimeKind.Local); dtoEnd = dtEnd; rents = RepoRent.FindAll(idOwner, fm.StartDate, fm.EndDate); //menambahkan filter terkait CarModelName filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo> { new Business.Infrastructure.FilterInfo { Field = "id_owner", Operator = "eq", Value = idOwner.ToString() }, new Business.Infrastructure.FilterInfo { Field = "car_model.name", Operator = "eq", Value = fm.CarModelName }, new Business.Infrastructure.FilterInfo { Field = "is_active", Operator = "eq", Value = true.ToString() }, }, Logic = "and" }; cars = RepoCar.FindAll(null, null, null, filters); carsId = cars.Select(m => m.id).ToList(); rents = rents.Where(m => m.id_car != null && carsId.Contains(m.id_car.Value)).ToList(); foreach (rent r in rents) { child = new BookingPresentationStub(r); result.Add(child); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public HttpResponseMessage Submit([FromBody] DriverRentParam param) { //kamus BookingPresentationStub result = new BookingPresentationStub(); rent rent = new rent(); bool isDatavalid = true; IEnumerable <string> headerValues; HttpStatusCode httpStatus = HttpStatusCode.InternalServerError; string responseMessage = null; string username = null; // Mengecek parameter //jika ID kosong, 403 Forbidden if (param.Id == Guid.Empty) { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "OrderNullAlert").ToString(); httpStatus = HttpStatusCode.Forbidden; } //cek username if (isDatavalid) { if (Request.Headers.TryGetValues("Username", out headerValues)) { username = headerValues.FirstOrDefault(); } else { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "UsernameNullAlert").ToString(); httpStatus = HttpStatusCode.Forbidden; } } //jika Username tidak sama dg username driver if (isDatavalid) { rent = RepoRent.FindByPk(param.Id); if ((rent == null) || (rent.driver == null) || (username != rent.driver.username)) { isDatavalid = false; responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "NotAccess").ToString(); httpStatus = HttpStatusCode.Forbidden; } } // Pengecekan Status //mengambil rent milik idDriver if (isDatavalid) { // untuk merubah status dari NEW ke GO if (rent.status == RentStatus.GO.ToString()) { rent.status = RentStatus.FINISH.ToString(); rent.updated_by = rent.driver.username; rent.updated_time = DateTime.Now; RepoRent.Save(rent); httpStatus = HttpStatusCode.OK; } // untuk mengecek status, jika NEW => 500 internal server error else if (rent.status == RentStatus.NEW.ToString()) { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "NewAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } // untuk mengecek status, jika FINISH => 500 internal server error else if (rent.status == RentStatus.FINISH.ToString()) { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "FinishAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } // untuk mengecek status, jika CANCEL => 500 internal server error else { responseMessage = HttpContext.GetGlobalResourceObject("WebServiceMessage", "CancelAlert").ToString(); httpStatus = HttpStatusCode.InternalServerError; } } if (responseMessage != null) { HttpContext.Current.Response.AppendHeader("ResponseMessage", responseMessage); } return(Request.CreateResponse(httpStatus)); }
public HttpResponseMessage GetActiveRent([FromBody] List <DriverActiveRentParam> param) { //kamus List <BookingPresentationStub> results; List <rent> listRent = new List <rent>(); rent rent; driver driver; Guid idDriver; DateTime dtUpdated; DateTimeOffset dtoUpdated; IEnumerable <string> headerValues; Business.Infrastructure.FilterInfo filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo>(), Logic = "and" }; HttpStatusCode httpStatus = HttpStatusCode.Forbidden; string responseMessage = null; //algoritma if (Request.Headers.TryGetValues("Username", out headerValues)) { //mengambil semua rent milik idDriver dengan status NEW / GO filters.Filters.Add(new Business.Infrastructure.FilterInfo { Field = "username", Operator = "eq", Value = headerValues.FirstOrDefault() }); driver = RepoDriver.FindAll(null, null, null, filters).FirstOrDefault(); if (driver != null) { idDriver = driver.id; filters = new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo> { new Business.Infrastructure.FilterInfo { Field = "id_driver", Operator = "eq", Value = idDriver.ToString() }, new Business.Infrastructure.FilterInfo { Filters = new List <Business.Infrastructure.FilterInfo> { new Business.Infrastructure.FilterInfo { Field = "status", Operator = "eq", Value = Common.Enums.RentStatus.GO.ToString() }, new Business.Infrastructure.FilterInfo { Field = "status", Operator = "eq", Value = Common.Enums.RentStatus.NEW.ToString() }, }, Logic = "or" }, }, Logic = "and" }; listRent = RepoRent.FindAll(null, null, null, filters); //menghapus data dari list rent yang <= param.update_time if (param != null) { foreach (DriverActiveRentParam single in param) { //mengambil data yang bersesuaian di listRent rent = listRent.Where(m => m.id == single.Id).FirstOrDefault(); //if data di listRent lebih lama (<=), dihapus dari listRent if (rent != null) { if (rent.updated_time.Value.UtcDateTime <= single.UpdatedTimeUtc) { listRent.Remove(rent); } } else //rent tidak ditemukan di listRent { rent = RepoRent.FindByPk(single.Id); if (rent != null) { if (rent.updated_time.Value.UtcDateTime > single.UpdatedTimeUtc) { listRent.Add(rent); } } } } } httpStatus = HttpStatusCode.OK; } else { responseMessage = "Username Anda tidak ditemukan."; } } else { responseMessage = "Username Anda tidak ditemukan."; } //result results = new BookingPresentationStub().MapList(listRent); if (responseMessage != null) { HttpContext.Current.Response.AppendHeader("ResponseMessage", responseMessage); } return(Request.CreateResponse(httpStatus, results)); }