public ActionResult UpdateApplication(UpdateApplicationsInput model) { var updateApplication = new UpdateApplicationsInput(); updateApplication.buildingId = Convert.ToInt32(Request["buildingnumber"]); updateApplication.buildingUnitId = Convert.ToInt32(Request["dropDownBuildingUnitApp"]); //==== get building and unit related to application for update ====== //var buildingInput = new GetBuidlingsInput() //{ // Id = updateApplication.buildingId //}; //var buildingUnitInput = new GetBuildingUnitsInput() //{ // Id = updateApplication.buildingUnitId //}; // using task and async method // var buildingApp = _buildingsAppService.getBuildingsByIdAsync(buildingInput).Result; // var buildingApp = _buildingsAppService.getBuildingsById(buildingInput); // var buildingUnitApp = _buildingUnitsAppService.GetBuildingUnitsById(buildingUnitInput); // buildingUnitApp.BuildingId = updateApplication.buildingId; // buildingUnitApp.ResidenceStatus= Request["residentstatus"]; // copy object getBuildingUnitInput to updateBuildingUnitInput var updateBuildingUnitInput = new UpdateBuildingUnitsInput(); //{ // BuildingId = buildingUnitApp.BuildingId, // ResidentName=buildingUnitApp.ResidentName, // ResidenceStatus=buildingUnitApp.ResidenceStatus, // NumberOfFamilyMembers=buildingUnitApp.NumberOfFamilyMembers, // Floor=buildingUnitApp.Floor, // UnitContentsIds=buildingUnitApp.UnitContentsIds //}; //============================================ // copy object from getBuildingOutput to updateBuildingInput var updateBuildingInput = new UpdateBuidlingsInput(); //{ // Id = buildingApp.Id, // buildingID = buildingApp.buildingID, // numOfBuildingUnits = buildingApp.numOfBuildingUnits, // numOfFloors = buildingApp.numOfFloors, // streetName = buildingApp.streetName, // buildingNo =buildingApp.buildingNo, // neighborhoodID= buildingApp.neighborhoodID, // buildingTypeID=buildingApp.buildingTypeID, // GISMAP=buildingApp.GISMAP, // houshProperty=buildingApp.houshProperty, // houshName= buildingApp.houshName, // X=buildingApp.X, // Y=buildingApp.Y, // buildingName=buildingApp.buildingName, // isInHoush =buildingApp.isInHoush, // buildingUsesID=buildingApp.buildingUsesID //}; //====================================================== // connect to database using ADO.net to retreive building unit details ======== string construnit = ConfigurationManager.ConnectionStrings["Default"].ConnectionString; using (SqlConnection con = new SqlConnection(construnit)) { string query = "SELECT Id," + " BuildingId," + "ResidentName," + "ResidenceStatus," + "NumberOfFamilyMembers," + "Floor," + "UnitContentsIds" + " FROM BuildingUnits Where Id=" + updateApplication.buildingUnitId; using (SqlCommand cmd = new SqlCommand(query)) { cmd.Connection = con; con.Open(); //cmd.Parameters.Add(new SqlParameter("@Id", paramValue)); SqlDataReader reader = cmd.ExecuteReader(); // reader.GetString(1) if (reader.HasRows) { while (reader.Read()) { updateBuildingUnitInput.Id = reader.GetInt32(0); updateBuildingUnitInput.BuildingId = reader.GetInt32(1); updateBuildingUnitInput.ResidentName = reader.GetString(2); updateBuildingUnitInput.ResidenceStatus = reader.GetString(3); updateBuildingUnitInput.NumberOfFamilyMembers = reader.GetInt32(4); updateBuildingUnitInput.Floor = reader.GetString(5); updateBuildingUnitInput.UnitContentsIds = (byte[])reader.GetValue(6); } } else { throw new UserFriendlyException("No rows found."); } reader.Close(); con.Close(); } } // read any changes made on building unit through the form . updateBuildingUnitInput.ResidenceStatus = Request["residentstatus"]; //====================================================== // connect to database using ADO.net to retreive building details ======== string constr = ConfigurationManager.ConnectionStrings["Default"].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { string query = "SELECT buildingID," + " Id," + "numOfBuildingUnits," + "numOfFloors," + "streetName," + "buildingNo," + "neighborhoodID," + "buildingTypeID," + "GISMAP," + "houshProperty," + "houshName," + "X," + "Y," + "buildingName," + "isInHoush," + "buildingUsesID" + " FROM Buildings Where Id=" + updateApplication.buildingId; using (SqlCommand cmd = new SqlCommand(query)) { cmd.Connection = con; con.Open(); //cmd.Parameters.Add(new SqlParameter("@Id", paramValue)); SqlDataReader reader = cmd.ExecuteReader(); // reader.GetString(1) if (reader.HasRows) { while (reader.Read()) { updateBuildingInput.buildingID = reader.GetInt32(0); updateBuildingInput.Id = reader.GetInt32(1); updateBuildingInput.numOfBuildingUnits = reader.GetInt32(2); updateBuildingInput.numOfFloors = reader.GetInt32(3); updateBuildingInput.streetName = reader.GetString(4); updateBuildingInput.buildingNo = reader.GetInt32(5); updateBuildingInput.neighborhoodID = reader.GetInt32(6); updateBuildingInput.buildingTypeID = reader.GetInt32(7); updateBuildingInput.GISMAP = reader.GetString(8); updateBuildingInput.houshProperty = reader.GetByte(9); updateBuildingInput.houshName = reader.GetString(10); updateBuildingInput.X = reader.GetDouble(11); updateBuildingInput.Y = reader.GetDouble(12); updateBuildingInput.buildingName = reader.GetString(13); updateBuildingInput.isInHoush = reader.GetBoolean(14); updateBuildingInput.buildingUsesID = reader.GetInt32(15); } } else { throw new UserFriendlyException("No rows found."); } reader.Close(); con.Close(); } } // read any changes made on building through the form updateBuildingInput.streetName = Request["buildingaddress"]; updateBuildingInput.isInHoush = Convert.ToBoolean(Request["buildingOutput.isInHoush"]); updateBuildingInput.houshName = Request["HoushName"]; //=================================================================================== //===================================================== updateApplication.Id = Convert.ToInt32(Request["applicationId"]); updateApplication.fullName = model.fullName; updateApplication.phoneNumber1 = model.phoneNumber1; updateApplication.phoneNumber2 = model.phoneNumber2; updateApplication.isThereFundingOrPreviousRestoration = model.isThereFundingOrPreviousRestoration; updateApplication.isThereInterestedRepairingEntity = model.isThereInterestedRepairingEntity; updateApplication.housingSince = model.housingSince; updateApplication.previousRestorationSource = model.previousRestorationSource; updateApplication.interestedRepairingEntityName = model.interestedRepairingEntityName; updateApplication.PropertyOwnerShipId = Convert.ToInt32(Request["PropertyOwnerShip"]); updateApplication.otherOwnershipType = model.otherOwnershipType; updateApplication.interventionTypeId = Convert.ToInt32(Request["interventionTypeName"]); updateApplication.otherRestorationType = model.otherRestorationType; updateApplication.propertyStatusDescription = model.propertyStatusDescription; updateApplication.requiredRestoration = model.requiredRestoration; updateApplication.buildingId = Convert.ToInt32(Request["buildingnumber"]); updateApplication.buildingUnitId = Convert.ToInt32(Request["dropDownBuildingUnitApp"]); // ==== get of restoration types which it is multi select drop down list ====== var restorationTypes = Request["example-getting-started"]; string[] restorationTypesSplited = restorationTypes.Split(','); byte[] restorationTypesArray = new byte[restorationTypesSplited.Length]; for (var i = 0; i < restorationTypesArray.Length; i++) { restorationTypesArray[i] = Convert.ToByte(restorationTypesSplited[i]); } updateApplication.restorationTypeIds = restorationTypesArray; // ====== end of RestorationTypes // _buildingsAppService.updateAsync(updateBuildingInput); _buildingsAppService.update(updateBuildingInput); _applicationsAppService.Update(updateApplication); _buildingUnitsAppService.Update(updateBuildingUnitInput); // ==== get list of applications ============== var applicationsUpdate = _applicationsAppService.getAllApplications(); var applicationsViewModel = new ApplicationsViewModel() { Applications = applicationsUpdate }; return(View("Applications", applicationsViewModel)); }
public ActionResult UpdateApplication(UpdateApplicationsInput model) { var updateApplication = new UpdateApplicationsInput(); updateApplication.buildingId = Convert.ToInt32(Request["buildingnumber"]); updateApplication.buildingUnitId = Convert.ToInt32(Request["dropDownBuildingUnitApp"]); //==== get building and unit related to application for update ====== var buildingInput = new GetBuidlingsInput() { Id = updateApplication.buildingId }; var buildingUnitInput = new GetBuildingUnitsInput() { Id = updateApplication.buildingUnitId }; var buildingApp = _buildingsAppService.getBuildingsById(buildingInput); var buildingUnitApp = _buildingUnitsAppService.GetBuildingUnitsById(buildingUnitInput); buildingApp.streetName = Request["buildingaddress"]; buildingApp.isInHoush = Convert.ToBoolean(Request["IsInHoush"]); buildingApp.houshName = Request["HoushName"]; // buildingUnitApp.BuildingId = updateApplication.buildingId; buildingUnitApp.ResidenceStatus = Request["residentstatus"]; // copy object getBuildingUnitInput to updateBuildingUnitInput var updateBuildingUnitInput = new UpdateBuildingUnitsInput() { BuildingId = buildingUnitApp.BuildingId, ResidentName = buildingUnitApp.ResidentName, ResidenceStatus = buildingUnitApp.ResidenceStatus, NumberOfFamilyMembers = buildingUnitApp.NumberOfFamilyMembers, Floor = buildingUnitApp.Floor, UnitContentsIds = buildingUnitApp.UnitContentsIds }; //============================================ // copy object from getBuildingOutput to updateBuildingInput var updateBuildingInput = new UpdateBuidlingsInput() { Id = 1, //buildingApp.Id, buildingID = 1, //buildingApp.buildingID, numOfBuildingUnits = buildingApp.numOfBuildingUnits, numOfFloors = buildingApp.numOfFloors, streetName = buildingApp.streetName, buildingNo = buildingApp.buildingNo, neighborhoodID = buildingApp.neighborhoodID, buildingTypeID = buildingApp.buildingTypeID, GISMAP = buildingApp.GISMAP, houshProperty = buildingApp.houshProperty, houshName = buildingApp.houshName, X = buildingApp.X, Y = buildingApp.Y, buildingName = buildingApp.buildingName, isInHoush = buildingApp.isInHoush, buildingUsesID = buildingApp.buildingUsesID }; //====================================================== updateApplication.Id = Convert.ToInt32(Request["applicationId"]); updateApplication.fullName = model.fullName; updateApplication.phoneNumber1 = model.phoneNumber1; updateApplication.phoneNumber2 = model.phoneNumber2; updateApplication.isThereFundingOrPreviousRestoration = model.isThereFundingOrPreviousRestoration; updateApplication.isThereInterestedRepairingEntity = model.isThereInterestedRepairingEntity; updateApplication.housingSince = model.housingSince; updateApplication.previousRestorationSource = model.previousRestorationSource; updateApplication.interestedRepairingEntityName = model.interestedRepairingEntityName; updateApplication.PropertyOwnerShipId = Convert.ToInt32(Request["PropertyOwnerShip"]); updateApplication.otherOwnershipType = model.otherOwnershipType; updateApplication.interventionTypeId = Convert.ToInt32(Request["interventionTypeName"]); updateApplication.otherRestorationType = model.otherRestorationType; updateApplication.propertyStatusDescription = model.propertyStatusDescription; updateApplication.requiredRestoration = model.requiredRestoration; updateApplication.buildingId = Convert.ToInt32(Request["buildingnumber"]); updateApplication.buildingUnitId = Convert.ToInt32(Request["dropDownBuildingUnitApp"]); // ==== get of restoration types which it is multi select drop down list ====== var restorationTypes = Request["example-getting-started"]; string[] restorationTypesSplited = restorationTypes.Split(','); byte[] restorationTypesArray = new byte[restorationTypesSplited.Length]; for (var i = 0; i < restorationTypesArray.Length; i++) { restorationTypesArray[i] = Convert.ToByte(restorationTypesSplited[i]); } updateApplication.restorationTypeIds = restorationTypesArray; // ====== end of RestorationTypes _buildingsAppService.update(updateBuildingInput); _applicationsAppService.Update(updateApplication); // _buildingUnitsAppService.Update(updateBuildingUnitInput); // ==== get list of applications ============== var applicationsUpdate = _applicationsAppService.getAllApplications(); var applicationsViewModel = new ApplicationsViewModel() { Applications = applicationsUpdate }; return(View("Applications", applicationsViewModel)); }