/// <summary> /// Adds the opp status. /// </summary> /// <param name="oppStatusDto">The opp status dto.</param> /// <returns></returns> public int AddOppStatus(OppStatusDto oppStatusDto) { int result = 0; using (var sdaCloudEntities = new SDACloudEntities()) { using (var transactionScope = new TransactionScope()) { var existingOppStat = sdaCloudEntities.OppStatus.FirstOrDefault(i => i.ClientID == oppStatusDto.ClientID && i.Order == oppStatusDto.Order); if (existingOppStat == null) { existingOppStat = new OppStatu { ClientID = oppStatusDto.ClientID, OppStatus = oppStatusDto.OppStatus, Order = oppStatusDto.Order, OppProbability = oppStatusDto.OppProbability, DeleteInd = "N", StageType = oppStatusDto.StageType, Default = oppStatusDto.Default }; //sdaCloudEntities.AddToOppStatus(existingOppStat); result = sdaCloudEntities.SaveChanges(); if (result > 0) { existingOppStat = sdaCloudEntities.OppStatus.FirstOrDefault(i => i.ClientID == oppStatusDto.ClientID && i.Order == oppStatusDto.Order); result = existingOppStat.ID; } } else { if (existingOppStat.DeleteInd == "Y") { existingOppStat.OppStatus = oppStatusDto.OppStatus; existingOppStat.OppProbability = oppStatusDto.OppProbability; existingOppStat.DeleteInd = "N"; existingOppStat.StageType = oppStatusDto.StageType; existingOppStat.Default = oppStatusDto.Default; sdaCloudEntities.SaveChanges(); result = existingOppStat.ID; } else { result = -2; } } if (result > 0 && oppStatusDto.Default.Equals("Y")) { existingOppStat = sdaCloudEntities.OppStatus.FirstOrDefault(i => i.ClientID == oppStatusDto.ClientID && i.Default == "Y" && i.ID != result); if (existingOppStat != null) { existingOppStat.Default = "N"; sdaCloudEntities.SaveChanges(); } } transactionScope.Complete(); } } return(result); }
public int AddOppStatus(OppStatusDto oppStatusDto) { var oppStatusDl = new OppStatusDL(); return(oppStatusDl.AddOppStatus(oppStatusDto)); }