public static string SaveOrganization(OrganizationBE data, int userId, int nodeId) { try { using (var ts = new TransactionScope()) { string organization = GetOrganizationByRuc(data.v_IdentificationNumber); if (organization != null) { return(organization); } string newId = ""; newId = new Common.Utils().GetPrimaryKey(nodeId, 5, "OO"); data.v_OrganizationId = newId; data.i_InsertUserId = userId; data.d_InsertDate = DateTime.Now; data.i_IsDeleted = 0; ctx.Organization.Add(data); ctx.SaveChanges(); LocationBE loc = new LocationBE(); var arr = data.v_Address.Split('-').Reverse().ToArray(); var sede = arr[0].ToString(); loc.v_OrganizationId = newId; loc.v_Name = sede; string locationId = SaveLocationAndGroupOccupation(loc, userId, nodeId); if (locationId == null) { throw new Exception("Error"); } ts.Complete(); return(newId + "|" + locationId); } } catch (Exception ex) { return(null); } }
private static string SaveLocationAndGroupOccupation(LocationBE data, int userId, int nodeId) { try { //Location string newId = ""; newId = new Common.Utils().GetPrimaryKey(nodeId, 14, "OL"); data.v_LocationId = newId; data.i_InsertUserId = userId; data.d_InsertDate = DateTime.Now; data.i_IsDeleted = 0; ctx.Location.Add(data); ctx.SaveChanges(); //NodeOrganizationProfile NodeOrganizationProfileBE _NodeOrgProf = new NodeOrganizationProfileBE(); _NodeOrgProf.i_NodeId = nodeId; _NodeOrgProf.v_OrganizationId = data.v_OrganizationId; _NodeOrgProf.i_InsertUserId = userId; _NodeOrgProf.d_InsertDate = DateTime.Now; _NodeOrgProf.i_IsDeleted = 0; ctx.NodeOrganizationProfile.Add(_NodeOrgProf); ctx.SaveChanges(); //NodeOrganizationLocationProfile NodeOrganizationLocationProfileBE _NodeOrgLocProf = new NodeOrganizationLocationProfileBE(); _NodeOrgLocProf.v_LocationId = newId; _NodeOrgLocProf.v_OrganizationId = data.v_OrganizationId; _NodeOrgLocProf.i_NodeId = nodeId; _NodeOrgLocProf.i_InsertUserId = userId; _NodeOrgLocProf.d_InsertDate = DateTime.Now; _NodeOrgLocProf.i_IsDeleted = 0; ctx.NodeOrganizationLocationProfile.Add(_NodeOrgLocProf); ctx.SaveChanges(); ////NodeOrganizationLocationWarehouseProfile //NodeOrganizationLocationWarehouseProfileBE _NodeOrgLocWarProf = new NodeOrganizationLocationWarehouseProfileBE(); //_NodeOrgLocWarProf.v_WarehouseId = ""; //_NodeOrgLocWarProf.i_NodeId = nodeId; //_NodeOrgLocWarProf.v_OrganizationId = data.v_OrganizationId; //_NodeOrgLocWarProf.v_LocationId = data.v_LocationId; //_NodeOrgLocWarProf.i_InsertUserId = userId; //_NodeOrgLocWarProf.d_InsertDate = DateTime.Now; //_NodeOrgLocWarProf.i_IsDeleted = 0; //ctx.NodeOrganizationLocationWarehouseProfile.Add(_NodeOrgLocWarProf); //ctx.SaveChanges(); //GroupOccupation List <string> Groups = new List <string>(); Groups.Add("ADMINISTRATIVO"); Groups.Add("OPERARIO"); foreach (var geso in Groups) { string newIdGroup = new Common.Utils().GetPrimaryKey(nodeId, 13, "OG"); GroupOccupationBE group = new GroupOccupationBE(); group.v_GroupOccupationId = newIdGroup; group.v_Name = geso; group.v_LocationId = newId; group.i_InsertUserId = userId; group.d_InsertDate = DateTime.Now; group.i_IsDeleted = 0; ctx.GroupOccupation.Add(group); ctx.SaveChanges(); } return(newId); } catch (Exception ex) { return(null); } }