/// <summary> /// Save the program unit. /// </summary> /// <param name="programUnit">The program unit.</param> /// <returns></returns> public Response <ProgramUnitDetailsModel> SaveProgramUnit(ProgramUnitDetailsModel programUnit) { const string apiUrl = BaseRoute + "SaveProgramUnit"; return(communicationManager.Post <ProgramUnitDetailsModel, Response <ProgramUnitDetailsModel> >(programUnit, apiUrl)); }
/// <summary> /// Gets the program unit by identifier. /// </summary> /// <param name="programUnitID">The program unit identifier.</param> /// <returns></returns> public Response <ProgramUnitDetailsModel> GetProgramUnitByID(long programUnitID) { var programUnitResponse = new Response <ProgramUnitDetailsModel>() { DataItems = new List <ProgramUnitDetailsModel>(), ResultCode = 0 }; var programUnitDetails = new ProgramUnitDetailsModel(); var programUnit = _organizationStructureDataProvider.GetOrganizationStructureByID(programUnitID); if (programUnit.ResultCode != 0) { programUnitResponse.ResultCode = programUnit.ResultCode; programUnitResponse.ResultMessage = programUnit.ResultMessage; return(programUnitResponse); } else { programUnitDetails.ProgramUnit = programUnit.DataItems.FirstOrDefault(); } var reportingUnit = _organizationIdentifiersDataProvider.GetOrganizationIdentifiersByID(programUnitID, OrganizationType.ProgramUnit.ToString()); if (reportingUnit.ResultCode != 0) { programUnitResponse.ResultCode = reportingUnit.ResultCode; programUnitResponse.ResultMessage = reportingUnit.ResultMessage; return(programUnitResponse); } else { programUnitDetails.ReportingUnit = reportingUnit.DataItems.FirstOrDefault(); } var programUnitAddresses = _organizationStructureDataProvider.GetOrganizationAddressByID(programUnitID); if (programUnitAddresses.ResultCode != 0) { programUnitResponse.ResultCode = programUnitAddresses.ResultCode; programUnitResponse.ResultMessage = programUnitAddresses.ResultMessage; return(programUnitResponse); } else { programUnitDetails.Addresses = programUnitAddresses.DataItems; } var programUnitHierarchy = _organizationStructureDataProvider.GetOrganizationHierarchyByID(programUnitID, OrganizationType.ProgramUnit.ToString()); if (programUnitHierarchy.ResultCode != 0) { programUnitResponse.ResultCode = programUnitHierarchy.ResultCode; programUnitResponse.ResultMessage = programUnitHierarchy.ResultMessage; return(programUnitResponse); } else { programUnitDetails.ProgramUnitHierarchies = programUnitHierarchy.DataItems; } var programUnitServices = _organizationStructureDataProvider.GetServiceOrganizationDetailsByID(programUnitID); if (programUnitServices.ResultCode != 0) { programUnitResponse.ResultCode = programUnitServices.ResultCode; programUnitResponse.ResultMessage = programUnitServices.ResultMessage; return(programUnitResponse); } else { programUnitDetails.ProgramUnitServices = programUnitServices.DataItems; } var programUnitServiceWorkflows = _organizationStructureDataProvider.GetOrganizationDetailsModuleComponentByDetailID(programUnitID); if (programUnitServiceWorkflows.ResultCode != 0) { programUnitResponse.ResultCode = programUnitServiceWorkflows.ResultCode; programUnitResponse.ResultMessage = programUnitServiceWorkflows.ResultMessage; return(programUnitResponse); } else { programUnitDetails.ProgramUnitServiceWorkflows = programUnitServiceWorkflows.DataItems; } programUnitResponse.DataItems.Add(programUnitDetails); return(programUnitResponse); }
/// <summary> /// Save the program unit. /// </summary> /// <param name="programUnit">The program unit.</param> /// <returns></returns> public Response <ProgramUnitDetailsModel> SaveProgramUnit(ProgramUnitDetailsModel programUnit) { var programUnitResponse = new Response <ProgramUnitDetailsModel>(); using (var transactionScope = _unitOfWork.BeginTransactionScope()) { var programUnitResult = new Response <OrganizationDetailsModel>(); if (programUnit.ProgramUnit.DetailID > 0) { programUnitResult = _organizationStructureDataProvider.UpdateOrganizationStructure(programUnit.ProgramUnit); } else { programUnit.ProgramUnit.DataKey = OrganizationType.ProgramUnit.ToString(); programUnitResult = _organizationStructureDataProvider.AddOrganizationStructure(programUnit.ProgramUnit); programUnit.ProgramUnit.DetailID = programUnitResult.ID; } programUnit.ReportingUnit.DetailID = programUnit.ProgramUnit.DetailID; programUnit.Addresses.ForEach(item => { item.DetailID = programUnit.ProgramUnit.DetailID; }); programUnit.ProgramUnitHierarchies.ForEach(item => { item.ProgramUnitID = programUnit.ProgramUnit.DetailID; }); programUnit.ProgramUnitServices.ForEach(item => { item.DetailID = programUnit.ProgramUnit.DetailID; }); programUnit.ProgramUnitServiceWorkflows.ForEach(item => { item.DetailID = programUnit.ProgramUnit.DetailID; }); // if program unit is failed to save if (programUnitResult.ResultCode != 0) { programUnitResponse.ResultCode = programUnitResult.ResultCode; programUnitResponse.ResultMessage = programUnitResult.ResultMessage; return(programUnitResponse); } var reportingUnitResult = _organizationIdentifiersDataProvider.SaveOrganizationIdentifiers(new List <OrganizationIdentifiersModel>() { programUnit.ReportingUnit }); // if reporting unit is failed to save if (reportingUnitResult.ResultCode != 0) { programUnitResponse.ResultCode = reportingUnitResult.ResultCode; programUnitResponse.ResultMessage = reportingUnitResult.ResultMessage; return(programUnitResponse); } var programUnitAddressResult = _organizationStructureDataProvider.SaveOrganizationAddress(programUnit.Addresses); // if program unit address is failed to save if (programUnitAddressResult.ResultCode != 0) { programUnitResponse.ResultCode = programUnitAddressResult.ResultCode; programUnitResponse.ResultMessage = programUnitAddressResult.ResultMessage; return(programUnitResponse); } var programUnitHierarchyResult = _organizationStructureDataProvider.SaveOrganizationHierarchy(programUnit.ProgramUnitHierarchies, OrganizationType.ProgramUnit.ToString()); // if program unit hierarchy is failed to save if (programUnitHierarchyResult.ResultCode != 0) { programUnitResponse.ResultCode = programUnitHierarchyResult.ResultCode; programUnitResponse.ResultMessage = programUnitHierarchyResult.ResultMessage; return(programUnitResponse); } var programUnitServicesResult = _organizationStructureDataProvider.SaveServiceOrganization(programUnit.ProgramUnitServices); // if program unit services is failed to save if (programUnitServicesResult.ResultCode != 0) { programUnitResponse.ResultCode = programUnitServicesResult.ResultCode; programUnitResponse.ResultMessage = programUnitServicesResult.ResultMessage; return(programUnitResponse); } var programUnitServiceWorkflowsResult = _organizationStructureDataProvider.SaveOrganizationDetailsModuleComponent(programUnit.ProgramUnitServiceWorkflows); // if program unit service workflows is failed to save if (programUnitServiceWorkflowsResult.ResultCode != 0) { programUnitResponse.ResultCode = programUnitServiceWorkflowsResult.ResultCode; programUnitResponse.ResultMessage = programUnitServiceWorkflowsResult.ResultMessage; return(programUnitResponse); } if (!programUnit.ForceRollback.GetValueOrDefault(false)) { _unitOfWork.TransactionScopeComplete(transactionScope); } } return(programUnitResponse); }
public IHttpActionResult SaveProgramUnit(ProgramUnitDetailsModel programUnit) { return(new HttpResult <Response <ProgramUnitDetailsModel> >(_programUnitsRuleEngine.SaveProgramUnit(programUnit), Request)); }
/// <summary> /// Save the program unit. /// </summary> /// <param name="programUnit">The program unit.</param> /// <returns></returns> public Response <ProgramUnitDetailsModel> SaveProgramUnit(ProgramUnitDetailsModel programUnit) { return(_programUnitsRepository.SaveProgramUnit(programUnit)); }
/// <summary> /// Save the program unit. /// </summary> /// <param name="programUnit">The program unit.</param> /// <returns></returns> public Response <ProgramUnitDetailsModel> SaveProgramUnit(ProgramUnitDetailsModel programUnit) { return(_programUnitsService.SaveProgramUnit(programUnit)); }