Exemplo n.º 1
0
        public void UpdateEnquiry(EnquiryUpdateInputDto input)
        {
            //string[] values = input.UpdateStatusName.Split('(').Select(sValue => sValue).ToArray();

            var Status   = (from r in _milestoneRepository.GetAll() where r.MileStoneName == input.UpdateStatusName select r).FirstOrDefault();
            var inquiry  = (from r in _inquiryRepository.GetAll() where r.Id == input.Id select r).FirstOrDefault();
            var inquirys = inquiry.MapTo <Inquiry>();

            inquirys.MileStoneId = Status.Id;

            inquirys.StatusId = input.StageId;
            if (input.UpdateStatusName == "Assigned")
            {
                inquirys.OpportunitySourceId = 1;
            }
            _inquiryRepository.UpdateAsync(inquirys);

            if (Status.ResetActivity == true)
            {
                var enquiryDetail = _enquiryDetailRepository.GetAll().Where(p => p.InquiryId == input.Id).FirstOrDefault();

                var enqdetail = enquiryDetail.MapTo <EnquiryDetail>();
                enqdetail.LastActivity = null;
                _enquiryDetailRepository.UpdateAsync(enqdetail);
            }
        }
Exemplo n.º 2
0
        public void CreateActivityDefault(EnquiryUpdateInputDto input)
        {
            EnqActCreate actinput = new EnqActCreate()
            {
                EnquiryId      = input.Id,
                PreviousStatus = input.CurrentStatusName,
                CurrentStatus  = input.UpdateStatusName,
                ActivityId     = 7,
                Title          = "Status Update",
                Message        = "Ticket Status Updated Successfully"
            };
            var Activity = actinput.MapTo <AcitivityTrack>();

            _acitivityTrackRepository.InsertAsync(Activity);
        }
Exemplo n.º 3
0
        public int createORupdateInquiry(EnquiryUpdateInputDto input)
        {
            int id            = 0;
            var enquiryDetail = _enquiryDetailRepository.GetAll().Where(p => p.InquiryId == input.Id).FirstOrDefault();

            var title = (from c in _EnquiryStatusRepository.GetAll()
                         join d in _StageDetailRepository.GetAll() on c.Id equals d.StageId
                         where d.MileStones.MileStoneName == input.UpdateStatusName
                         select c).ToArray();


            if (input.UpdateStatusName == "Lead" && enquiryDetail.DepartmentId == null)
            {
                if (enquiryDetail.CompanyId > 0)
                {
                    var comp = _NewCompanyRepository.GetAll().Where(p => p.Id == enquiryDetail.CompanyId).FirstOrDefault();
                    if (comp.AccountManagerId > 0)
                    {
                        long AccountManagerId = (long)comp.AccountManagerId;
                        var  teamDetail       = _teamDetailRepository.GetAll().Where(p => p.SalesmanId == AccountManagerId).FirstOrDefault();
                        var  teams            = _teamDetailRepository.GetAll().Where(p => p.SalesmanId == AccountManagerId).Select(p => p.Team).FirstOrDefault();
                        if (teamDetail != null && teams != null)
                        {
                            var enqdetail = enquiryDetail.MapTo <EnquiryDetail>();
                            enqdetail.TeamId       = teamDetail.TeamId;
                            enqdetail.DepartmentId = teams.DepartmentId;
                            _enquiryDetailRepository.UpdateAsync(enqdetail);

                            UpdateEnquiry(input);
                        }
                        else
                        {
                            var team = _teamsRepository.GetAll().Where(p => p.SalesManagerId == AccountManagerId).FirstOrDefault();
                            if (team != null)
                            {
                                var enqdetail = enquiryDetail.MapTo <EnquiryDetail>();
                                enqdetail.TeamId       = team.Id;
                                enqdetail.DepartmentId = team.DepartmentId;
                                _enquiryDetailRepository.UpdateAsync(enqdetail);

                                UpdateEnquiry(input);
                            }
                        }
                    }
                    else
                    {
                        id = 1;
                    }
                }
            }
            else if (title.Count() > 1 && input.UpdateStatusName != "Assigned")
            {
                id = 2;
            }
            else if (title.Count() > 0 && input.UpdateStatusName == "Assigned")
            {
                if (input.StageId > 0)
                {
                }
                else
                {
                    input.StageId = title[0].Id;
                }
                UpdateEnquiry(input);
            }
            else
            {
                UpdateEnquiry(input);
            }
            return(id);
        }