예제 #1
0
        /// <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);
        }
예제 #2
0
파일: OppStatusBL.cs 프로젝트: bjsn/WebApp
        public int AddOppStatus(OppStatusDto oppStatusDto)
        {
            var oppStatusDl = new OppStatusDL();

            return(oppStatusDl.AddOppStatus(oppStatusDto));
        }