public ViewResult Detail(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 JsonResult GetBooking(Guid id) { List <string> result = new List <string>(); if (id != null) { rent r = RepoRent.FindByPk(id); result.Add(r.customer.name); result.Add(r.start_rent.ToString(new DisplayFormatHelper().FullDateFormat) + " s/d " + r.finish_rent.ToString(new DisplayFormatHelper().FullDateFormat)); result.Add(r.price.ToString()); result.Add(r.code); } return(Json(result)); }
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 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 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)); }