public OfferedLabourerService UpdateOLS(string insertedDic) { tbl_offeredservicesdata currentOffer = JsonConvert.DeserializeObject <tbl_offeredservicesdata>(insertedDic); MollShopContext.UpdateRow(currentOffer, "fld_offeredserviceid", currentOffer.fld_offeredserviceid); //Because ElasticSearch does not support decimal numbers, we must multiply the cost by a 100 currentOffer.fld_cost = currentOffer.fld_cost * 100; OfferedLabourerService currentOLS = EsOLSQuery <OfferedLabourerService> .findByOfferedServiceId(currentOffer.fld_offeredserviceid); currentOLS.fld_cost = currentOffer.fld_cost; currentOLS.fld_area = currentOffer.fld_area; currentOLS.fld_timefirst = currentOffer.fld_timefirst; currentOLS.fld_timelast = currentOffer.fld_timelast; currentOLS.fld_stillavailable = currentOffer.fld_stillavailable; EsUpdater <OfferedLabourerService> .UpsertDocument(currentOLS, "moll_ols", "OLS", currentOLS.fld_offeredserviceid); //To render it correctly in the datatable, we divice the cost by 100 again currentOLS.fld_cost = currentOLS.fld_cost / 100; return(currentOLS); }
public int EditItem(string insertedDic, string type) { switch (type) { case "tbl_userdata": try { tbl_userdata currentUser = JsonConvert.DeserializeObject <tbl_userdata>(insertedDic); //Dates and ElasticSearch do not mix very well, so we do a little check beforehand if (currentUser.fld_dateofbirth == "") { currentUser.fld_dateofbirth = null; } EsUpdater <tbl_userdata> .UpsertDocument(currentUser, "moll_users", "User", currentUser.fld_userid); MollShopContext.UpdateRow(currentUser, "fld_UserId", currentUser.fld_userid); } catch (Exception e) { return(-1); } break; case "tbl_servicedata": tbl_servicedata currentService = JsonConvert.DeserializeObject <tbl_servicedata>(insertedDic); //Update the stand-alone service document EsUpdater <tbl_servicedata> .UpsertDocument(currentService, "moll_dataservices", "Services", currentService.fld_serviceid); //Find all OLS documents in ES that contain this service List <OfferedLabourerService> packages = EsOLSQuery <OfferedLabourerService> .getByService(currentService.fld_serviceid); //Foreach OLS ID, update it with the current service foreach (OfferedLabourerService package in packages) { package.fld_name = currentService.fld_name; package.fld_category = currentService.fld_category; package.fld_description = currentService.fld_description; package.fld_imagelink = currentService.fld_imagelink; EsUpdater <OfferedLabourerService> .UpsertDocument(package, "moll_ols", "OLS", package.fld_offeredserviceid); } MollShopContext.UpdateRow(currentService, "fld_ServiceId", currentService.fld_serviceid); break; case "tbl_labourerdata": tbl_labourerdata currentLabourer = JsonConvert.DeserializeObject <tbl_labourerdata>(insertedDic); //Update the stand-alone labourer document EsUpdater <tbl_labourerdata> .UpsertDocument(currentLabourer, "moll_labourers", "Labourer", currentLabourer.fld_labourerid); //Find all OLS documents in ES that contain this labourer List <OfferedLabourerService> olspackages = EsOLSQuery <OfferedLabourerService> .getByLabourer(currentLabourer.fld_labourerid); //Foreach OLS Id, update it with the current labourer foreach (OfferedLabourerService package in olspackages) { package.fld_address = currentLabourer.fld_address; package.fld_firstname = currentLabourer.fld_firstname; package.fld_email = currentLabourer.fld_email; package.fld_gender = currentLabourer.fld_gender; package.fld_lastname = currentLabourer.fld_lastname; package.fld_phonenumber = currentLabourer.fld_phonenumber; package.fld_zipcode = currentLabourer.fld_zipcode; EsUpdater <OfferedLabourerService> .UpsertDocument(package, "moll_ols", "OLS", package.fld_offeredserviceid); } MollShopContext.UpdateRow(currentLabourer, "fld_LabourerId", currentLabourer.fld_labourerid); break; default: break; } return(1); }