コード例 #1
0
        public ActionResult StatusUpdate(Guid ID, LeadStatus Status)
        {
            Lead dbLead = new Lead();

            dbLead = reposetory.GetLead(ID);
            if (dbLead == null)
            {
                return(null);
            }

            LeadStatus Oldstatus = dbLead.Status;

            dbLead.Status            = Status;
            dbLead.RequestUpdateMail = false;

            if (reposetory.Save(dbLead))
            {
                if (Oldstatus != LeadStatus.Succes & dbLead.Status == LeadStatus.Succes)
                {
                    TempData["Create"] = true;
                    TempData["ID"]     = dbLead.LeadID;
                }
                else
                {
                    ViewBag.FormSucces = true;
                }
            }

            return(RedirectToAction("Index"));
        }
コード例 #2
0
        public async Task <ActionResult> Get([FromQuery] LeadStatus status)
        {
            var reuqest = new GetLeadsQuery.Reuqest()
            {
                Status = status
            };
            var response = await _mediator.Send(reuqest);

            switch (status)
            {
            case LeadStatus.Created:
            {
                var result =
                    _mapper.Map <IEnumerable <Domain.Lead.Entities.Lead>, List <InvitedLeadViewModel> >(
                        response.leads);
                return(Ok(result));
            }

            case LeadStatus.Accepted:
            {
                var result =
                    _mapper.Map <IEnumerable <Domain.Lead.Entities.Lead>, List <AcceptedLeadViewModel> >(
                        response.leads);
                return(Ok(result));
            }

            default:
                throw new Exception($"Cannot get leads with status {status}");
            }
        }
コード例 #3
0
        public IHttpActionResult PutLeadStatus(int id, LeadStatus leadStatus)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != leadStatus.LeadStatusID)
            {
                return(BadRequest());
            }

            db.Entry(leadStatus).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LeadStatusExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: addon365/WebSync
        private static void Initialize(SyncAppContext context)
        {
            if (context.Database.EnsureCreated())
            {
                User[] userEntries = new User[]
                {
                    new User {
                        UserId = Guid.NewGuid(), LoginId = "tamil", UserName = "******", Password = "******"
                    },
                    new User
                    {
                        UserId   = Guid.NewGuid(),
                        LoginId  = "udayan",
                        UserName = "******",
                        Password = "******"
                    }
                };

                context.Users.AddRange(userEntries);
                context.LeadStatuses.AddRange(LeadStatus.GetMasterData());
                context.Users.AddRange(userEntries);
                context.LeadSources.AddRange(LeadSource.GetMasterData());
                Addon365.WebSync.Models.SampleData.PopulateLicenseMachine();
                context.Profiles.AddRange(Addon365.WebSync.Models.SampleData.pro);
                context.Customers.AddRange(Addon365.WebSync.Models.SampleData.cus);
                context.Licenses.AddRange(Addon365.WebSync.Models.SampleData.lic);
                context.LicenseMachines.AddRange(Addon365.WebSync.Models.SampleData.licMac);

                context.SaveChanges();
            }
        }
コード例 #5
0
        //todo: need to look up a state machine to control the status
        public Lead SwitchStatus(LeadStatus status)
        {
            if (Status == LeadStatus.Created && (status == LeadStatus.Accepted || status == LeadStatus.Declined))
            {
                Status = status;
                return(this);
            }

            throw new Exception($"Cannot switch state from {Status} to {status}");
        }
コード例 #6
0
        public IHttpActionResult GetLeadStatus(int id)
        {
            LeadStatus leadStatus = db.LeadStatus.Find(id);

            if (leadStatus == null)
            {
                return(NotFound());
            }

            return(Ok(leadStatus));
        }
コード例 #7
0
        public static LeadStatus Create(LeadStatusAddModel model, string userId)
        {
            var data = new LeadStatus
            {
                Name      = model.Name,
                Status    = Constants.RecordStatus.Active,
                CreatedBy = userId ?? "0",
                CreatedOn = Utility.GetDateTime(),
            };

            return(data);
        }
コード例 #8
0
        public IHttpActionResult PostLeadStatus(LeadStatus leadStatus)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.LeadStatus.Add(leadStatus);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = leadStatus.LeadStatusID }, leadStatus));
        }
コード例 #9
0
        public IHttpActionResult DeleteLeadStatus(int id)
        {
            LeadStatus leadStatus = db.LeadStatus.Find(id);

            if (leadStatus == null)
            {
                return(NotFound());
            }

            db.LeadStatus.Remove(leadStatus);
            db.SaveChanges();

            return(Ok(leadStatus));
        }
コード例 #10
0
ファイル: Lead.cs プロジェクト: Roballen/WebGrab
 public Lead()
 {
     _messages = new List<Message>();
     _document = new TaxDocument();
     _address = new Address();
     _recordeddate = "";
     _middle = "";
     _last = "";
     _first = "";
     _debt = "";
     _businessname = "";
     _leadtype = LeadType.Federal;
     _status = LeadStatus.MissingInformation;
 }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LeadStatus = await _context.LeadStatus.FirstOrDefaultAsync(m => m.LeadStat == id);

            if (LeadStatus == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LeadStatus = await _context.LeadStatus.FindAsync(id);

            if (LeadStatus != null)
            {
                _context.LeadStatus.Remove(LeadStatus);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
コード例 #13
0
        public List <LeadStatus> GetAllStatus()
        {
            objResponse       Response = new objResponse();
            List <LeadStatus> status   = new List <LeadStatus>();

            try
            {
                DATA_ACCESS_LAYER.Fill(Response.ResponseData, "usp_GetAllStatus", DB_CONSTANTS.ConnectionString_ICS);

                if (Response.ResponseData.Tables[0].Rows.Count > 0)
                {
                    Response.ErrorCode = 0;
                    foreach (DataRow dr in Response.ResponseData.Tables[0].Rows)
                    {
                        LeadStatus objSource = new LeadStatus();
                        objSource.LeadStatusID  = Convert.ToInt64(dr["Status_ID_Auto_PK"]);
                        objSource.StatusName    = Convert.ToString(dr["Status_Name"]);
                        objSource.CreatedByName = Convert.ToString(dr["CreatedByName"]);
                        objSource.CreatedDate   = Convert.ToDateTime(dr["CreatedDate"]);
                        objSource.UpdatedByName = Convert.ToString(dr["UpdatedByName"]);
                        objSource.UpdatedDate   = Convert.ToDateTime(dr["UpdatedDate"]);
                        objSource.StatusColor   = Convert.ToString(dr["StatusColour"]);
                        objSource.emailTemplate = Convert.ToString(dr["emaiTemplate"]);
                        objSource.smsTemplate   = Convert.ToString(dr["smsTemplate"]);


                        status.Add(objSource);
                    }
                }
                else
                {
                    Response.ErrorCode    = 2001;
                    Response.ErrorMessage = "There is an Error. Please Try After some time.";
                }
            }
            catch (Exception ex)
            {
                Response.ErrorCode    = 2001;
                Response.ErrorMessage = "Error while processing: " + ex.Message;
                BAL.Common.LogManager.LogError("GetAllStatus", 1, Convert.ToString(ex.Source), Convert.ToString(ex.Message), Convert.ToString(ex.StackTrace));
            }
            return(status);
        }
コード例 #14
0
        protected override void ExecuteWorkflowLogic()
        {
            var qualifyLeadRequest = new QualifyLeadRequest()
            {
                CreateAccount         = IsCreateAccont.Get(Context.ExecutionContext),
                CreateContact         = IsCreateContact.Get(Context.ExecutionContext),
                CreateOpportunity     = IsCreateOpportunity.Get(Context.ExecutionContext),
                LeadId                = Lead.Get(Context.ExecutionContext),
                Status                = LeadStatus.Get(Context.ExecutionContext),
                OpportunityCurrencyId = Currency.Get(Context.ExecutionContext)
            };

            if (OpportunityCustomerAccount.Get(Context.ExecutionContext) != null)
            {
                qualifyLeadRequest.OpportunityCustomerId = OpportunityCustomerAccount.Get(Context.ExecutionContext);
            }
            else if (OpportunityCustomerContact.Get(Context.ExecutionContext) != null)
            {
                qualifyLeadRequest.OpportunityCustomerId = OpportunityCustomerContact.Get(Context.ExecutionContext);
            }

            var qualifyLeadResponse = (QualifyLeadResponse)Context.UserService.Execute(qualifyLeadRequest);

            foreach (var createdEntity in qualifyLeadResponse.CreatedEntities)
            {
                switch (createdEntity.LogicalName)
                {
                case "account":
                    Account.Set(Context.ExecutionContext, createdEntity);
                    break;

                case "contact":
                    Contact.Set(Context.ExecutionContext, createdEntity);
                    break;

                case "opportunity":
                    Opportunity.Set(Context.ExecutionContext, createdEntity);
                    break;
                }
            }
        }
コード例 #15
0
        public async Task SetUserStatusNote(string userId, LeadStatus status, string note, bool?important = false)
        {
            var m = _dbSet.FirstOrDefault(x => x.Id == userId);

            if (m != null)
            {
                if (important == true)
                {
                    m.SystemStatus = (int)status;
                }
                else if (m.SystemStatus > (int)status && status != LeadStatus.New)
                {
                    m.SystemStatus = (int)status;
                }
                if (string.IsNullOrEmpty(m.SystemNote))
                {
                    m.SystemNote = note;
                }
            }
            await this.CommitAsync();
        }
コード例 #16
0
 public void Edit(LeadStatus entity)
 {
     _dataContext.LeadStatus.Update(entity);
 }
コード例 #17
0
 protected BusinessValidationResult ReturnValidationResult(LeadStatus status)
 {
     return(new BusinessValidationResult {
         IsSuccess = false, Status = status
     });
 }
コード例 #18
0
        public ActionResult StatusUpdate(Guid ID, LeadStatus Status)
        {
            Lead dbLead = new Lead();

            dbLead = reposetory.GetLead(ID);
            if (dbLead == null) return null;

            LeadStatus Oldstatus = dbLead.Status;

            dbLead.Status = Status;
            dbLead.RequestUpdateMail = false;

            if (reposetory.Save(dbLead))
            {
                if (Oldstatus != LeadStatus.Succes & dbLead.Status == LeadStatus.Succes)
                {
                    TempData["Create"] = true;
                    TempData["ID"] = dbLead.LeadID;
                }
                else
                {
                   ViewBag.FormSucces = true;
                }
            }

            return RedirectToAction("Index");
        }
コード例 #19
0
 /// <summary>
 /// Objeto para alteração do status do Lead
 /// </summary>
 /// <param name="authToken">Token privado da sua empresa no RD Station.
 /// Acesse https://www.rdstation.com.br/integracoes para descobrir qual usar para sua empresa.</param>
 /// <param name="leadStatus">Objeto para alteração do estágio do Lead</param>
 public LeadStatusRoot(string authToken, LeadStatus leadStatus)
 {
     AuthToken = authToken;
     LeadStatus = leadStatus;
 }
コード例 #20
0
        // Todo: Need to create a generic filter parameter later
        public async Task <IEnumerable <Domain.Lead.Entities.Lead> > GetAsync(LeadStatus status)
        {
            var cursor = await _lead.FindAsync(x => x.Status == status);

            return(cursor.ToList());
        }
コード例 #21
0
 public void Update(LeadStatus leadStatus)
 {
     leadStatusRepository.Update(leadStatus);
     unitOfWork.SaveChanges();
 }
コード例 #22
0
        public void SetUp()
        {
            var leadStatus = new LeadStatus(LifeCycleLeadStage.LeadQualificado, true);

            _sut = new LeadStatusRoot("FakeAtuToken", leadStatus);
        }
コード例 #23
0
 public void Insert(LeadStatus leadStatus)
 {
     leadStatusRepository.Insert(leadStatus);
     unitOfWork.SaveChanges();
 }
コード例 #24
0
        public ActionResult Edit(Lead lead)
        {
            Lead dbLead = new Lead();

            if (lead.LeadID != Guid.Empty)
            {
                dbLead = reposetory.GetLead(lead.LeadID);
                if (dbLead == null)
                {
                    return(RedirectToAction("Index"));
                }
            }

            if (ModelState.IsValid)
            {
                LeadStatus oldStatus = dbLead.Status;



                dbLead.FirstName         = lead.FirstName;
                dbLead.FamilyName        = lead.FamilyName;
                dbLead.Status            = lead.Status;
                dbLead.AssociationID     = lead.AssociationID == Guid.Empty ? null : lead.AssociationID;
                dbLead.Address           = lead.Address;
                dbLead.City              = lead.City;
                dbLead.Zip               = lead.Zip;
                dbLead.Phone             = lead.Phone;
                dbLead.Mobile            = lead.Mobile;
                dbLead.Email             = lead.Email;
                dbLead.Age               = lead.Age;
                dbLead.Comments          = lead.Comments;
                dbLead.RequestUpdateMail = false;

                if (reposetory.Save(dbLead))
                {
                    if ((oldStatus == LeadStatus.New | oldStatus == LeadStatus.Acknowledge |
                         oldStatus == LeadStatus.Clarification | lead.LeadID == Guid.Empty)
                        & dbLead.Status == LeadStatus.Assigned & dbLead.AssociationID != null)
                    {
                        string        to = string.Empty;
                        List <string> cc = new List <string>();

                        AccessModel Access = reposetory.GetAccess((Guid)dbLead.AssociationID);

                        BoardModelView Board = reposetory.GetBoardView((Guid)dbLead.AssociationID);

                        to = string.Format("{0} <{1}>", Board.Chairmann.FullName, Board.Chairmann.Email);

                        foreach (PersonAccess M in Access.Form)
                        {
                            if (M.Secretary)
                            {
                                NRMembership p = reposetory.GetMembership(M.FunctionID);
                                //cc += string.Format("{0},", p.Person.Email);
                                cc.Add(string.Format("{0} <{1}>", p.Person.FullName, p.Person.Email));
                            }
                            else if (M.Planner)
                            {
                                NRMembership p = reposetory.GetMembership(M.FunctionID);
                                //cc += string.Format("{0},", p.Person.Email);
                                cc.Add(string.Format("{0} <{1}>", p.Person.FullName, p.Person.Email));
                            }
                        }



                        var mail = new LeadAssign
                        {
                            to   = to,
                            cc   = cc,
                            lead = dbLead
                        };

                        //return new EmailViewResult(mail);

                        mail.Send();
                    }
                    lead.LeadID = dbLead.LeadID;
                    ModelState.Clear();


                    ViewBag.FormSucces = true;
                }
            }

            List <AssociationListModel> tmp = reposetory.GetAssociationList(); //.RemoveAll(item => CU.Memberships.ToList().Exists(p => p.Association.AssociationID == item.AssociationID));

            ViewBag.Attach = new SelectList(tmp, "AssociationID", "Name");
            return(View(lead));
        }
コード例 #25
0
 public static void Create(LeadStatusEditModel model, LeadStatus entity, string userId)
 {
     entity.Name = model.Name;
 }
コード例 #26
0
 public async Task AddAsync(LeadStatus entity)
 {
     await _dataContext.LeadStatus.AddAsync(entity);
 }
 public void SetUp()
 {
     var leadStatus = new LeadStatus(LifeCycleLeadStage.LeadQualificado, true);
     _sut = new LeadStatusRoot("FakeAtuToken", leadStatus);
 }