public JsonResult SendRequest(string _type)
        {
            WhatsappComminucation c = null;

            using (var context = new ProjectManagementEntities())
            {
                c = new WhatsappComminucation()
                {
                    Date     = DateTime.Now,
                    Request  = _type,
                    Response = null
                };
                context.WhatsappComminucation.Add(c);
                context.SaveChanges();
            }

            while (c.Response == null)
            {
                using (var context = new ProjectManagementEntities())
                {
                    c = context.WhatsappComminucation.FirstOrDefault(x => x.Id == c.Id);
                }
            }

            if (!c.Response.StartsWith("data:image/png;base64") && c.Response != "true")
            {
                var model = JsonConvert.DeserializeObject <List <Whatsapp> >(c.Response);

                using (var context = new ProjectManagementEntities())
                {
                    foreach (var item in model)
                    {
                        item.SonMesaj = HttpUtility.HtmlDecode(item.SonMesaj);
                        item.Gonderen = HttpUtility.HtmlDecode(item.Gonderen);

                        var lastMesaj = context.WhatsappMessage.Where(x => x.MessageFrom == item.Gonderen && x.IsSeen == false).ToList().OrderByDescending(x => x.Id).ToList().FirstOrDefault();

                        if (lastMesaj != null)
                        {
                            if ((DateTime.Now - lastMesaj.Date).TotalMinutes <= 5)
                            {
                                if (!lastMesaj.MessageContent.Contains(item.SonMesaj))
                                {
                                    lastMesaj.MessageContent = lastMesaj.MessageContent + "||=>||" + item.SonMesaj;
                                    lastMesaj.Date           = DateTime.Now;
                                    context.SaveChanges();
                                }
                            }
                            else
                            {
                                var allMessages = string.Join("||=>||", context.WhatsappMessage.Where(x => x.MessageFrom == item.Gonderen).Select(x => x.MessageContent));

                                if (allMessages == item.SonMesaj || allMessages.Contains("||=>||" + item.SonMesaj) || allMessages.Contains(item.SonMesaj + "||=>||"))
                                {
                                }
                                else
                                {
                                    var insertObj = new WhatsappMessage()
                                    {
                                        Date           = DateTime.Now,
                                        IsSeen         = false,
                                        MessageContent = item.SonMesaj,
                                        MessageFrom    = item.Gonderen
                                    };
                                    context.WhatsappMessage.Add(insertObj);
                                    context.SaveChanges();
                                }
                            }
                        }
                        else
                        {
                            var allMessages = string.Join("||=>||", context.WhatsappMessage.Where(x => x.MessageFrom == item.Gonderen).Select(x => x.MessageContent));

                            if (allMessages == item.SonMesaj || allMessages.Contains("||=>||" + item.SonMesaj) || allMessages.Contains(item.SonMesaj + "||=>||"))
                            {
                            }
                            else
                            {
                                var insertObj = new WhatsappMessage()
                                {
                                    Date           = DateTime.Now,
                                    IsSeen         = false,
                                    MessageContent = item.SonMesaj,
                                    MessageFrom    = item.Gonderen
                                };
                                context.WhatsappMessage.Add(insertObj);
                                context.SaveChanges();
                            }
                        }
                        //var controlList = context.WhatsappMessage.Where(x => x.MessageFrom == item.Gonderen).ToList().OrderBy(x => x.Id).ToList();

                        //if (controlList.Count > 0)
                        //{
                        //    var lastItem = controlList.LastOrDefault();

                        //    if (lastItem.MessageContent == item.SonMesaj && lastItem.MessageFrom == item.Gonderen)
                        //        continue;
                        //}
                    }
                }
            }

            return(Json(c.Response));
        }
Exemple #2
0
        public Step SaveWhatsappTaskAsStep(int _redirectId, int _milestoneId, int _sprintId, int _headOfDepartmentPersonId, int _personId, string _title, string _desc)
        {
            try
            {
                using (var context = new ProjectManagementEntities())
                {
                    var redirect = context.WhatsappMessageRedirect.FirstOrDefault(x => x.Id == _redirectId);
                    var message  = context.WhatsappMessage.FirstOrDefault(x => x.Id == redirect.MessageId);

                    var step = new Step()
                    {
                        AssigneeUser = _headOfDepartmentPersonId,
                        Description  = _desc,
                        MilestoneId  = _milestoneId,
                        Name         = _title,
                        SprintId     = _sprintId,
                        Status       = 1
                    };

                    context.Step.Add(step);
                    int numberOfInserted = context.SaveChanges();

                    if (numberOfInserted > 0)
                    {
                        var stepPerson = new StepPerson()
                        {
                            Description = "",
                            PersonId    = _personId,
                            StepId      = step.Id
                        };
                        context.StepPerson.Add(stepPerson);
                        context.SaveChanges();

                        var sprint = context.Sprint.FirstOrDefault(x => x.Id == _sprintId);

                        if (sprint.Status == 2)
                        {
                            var boardStep = new BoardStep()
                            {
                                Date        = DateTime.Now,
                                Description = "Whatsapp üzerinden yönlendirilmiştir.",
                                PersonId    = _headOfDepartmentPersonId,
                                BoardId     = context.Board.Where(x => x.ProjectId == sprint.ProjectId && x.Status > 0).ToList().FirstOrDefault().Id,
                                StepId      = step.Id
                            };

                            context.BoardStep.Add(boardStep);
                            context.SaveChanges();
                        }

                        redirect.Status = 0;
                        context.SaveChanges();

                        return(step);
                    }

                    return(null);
                }
            }
            catch (Exception exc)
            {
                throw exc;
            }
        }
Exemple #3
0
        public Step UpdateStep(Step _s, List <int> _workerIds)
        {
            try
            {
                var numberOfUpdated = 0;
                using (var context = new ProjectManagementEntities())
                {
                    var step = context.Step.FirstOrDefault(x => x.Id == _s.Id);

                    if (step != null)
                    {
                        step.AssigneeUser = _s.AssigneeUser;
                        step.Description  = _s.Description;
                        step.EndDate      = _s.EndDate;
                        step.MilestoneId  = _s.MilestoneId;
                        step.Name         = _s.Name;
                        step.SprintId     = _s.SprintId;
                        step.StartDate    = _s.StartDate;

                        numberOfUpdated = context.SaveChanges();

                        var stepPerson = context.StepPerson.Where(x => x.StepId == _s.Id).ToList();

                        if (stepPerson.Count() > 0)
                        {
                            foreach (var stepPersonItem in stepPerson)
                            {
                                var stepPersonDetail = context.StepPersonDetail.Where(x => x.StepPersonId == stepPersonItem.Id).ToList();

                                if (stepPersonDetail.Count() > 0)
                                {
                                    foreach (var stepPersonDetailItem in stepPersonDetail)
                                    {
                                        context.Entry(stepPersonDetailItem).State = EntityState.Deleted;
                                        context.SaveChanges();
                                    }
                                }

                                context.Entry(stepPersonItem).State = EntityState.Deleted;
                                context.SaveChanges();
                            }
                        }

                        foreach (var item in _workerIds)
                        {
                            var newStepPerson = new StepPerson()
                            {
                                PersonId = item,
                                StepId   = _s.Id
                            };

                            context.StepPerson.Add(newStepPerson);
                            context.SaveChanges();
                        }
                        return(numberOfUpdated > 0 ? _s : null);
                    }
                    return(null);
                }
            }
            catch (System.Exception exc)
            {
                throw exc;
            }
        }
Exemple #4
0
        public Step SaveStep(Step _s, List <int> _workerIds)
        {
            try
            {
                using (var context = new ProjectManagementEntities())
                {
                    context.Step.Add(_s);
                    int numberOfInserted = context.SaveChanges();

                    if (numberOfInserted > 0)
                    {
                        foreach (var item in _workerIds)
                        {
                            var stepPerson = new StepPerson()
                            {
                                PersonId = item,
                                StepId   = _s.Id
                            };

                            context.StepPerson.Add(stepPerson);
                            context.SaveChanges();
                        }

                        var sprint = context.Sprint.FirstOrDefault(x => x.Id == _s.SprintId);

                        if (sprint.Status == 2)
                        {
                            var boardstep = new BoardStep()
                            {
                                BoardId     = context.Board.Where(x => x.ProjectId == sprint.ProjectId).ToList().OrderBy(x => x.Id).ToList().FirstOrDefault().Id,
                                Date        = DateTime.Now,
                                Description = "",
                                PersonId    = 0,
                                StepId      = _s.Id
                            };
                            context.BoardStep.Add(boardstep);
                            context.SaveChanges();

                            //foreach (var item in _workerIds)
                            //{
                            //    var boardstep = new BoardStep()
                            //    {
                            //        BoardId = context.Board.Where(x => x.ProjectId == sprint.ProjectId).ToList().OrderBy(x => x.Id).ToList().FirstOrDefault().Id,
                            //        Date = DateTime.Now,
                            //        Description = "",
                            //        PersonId = item,
                            //        StepId = _s.Id
                            //    };
                            //    context.BoardStep.Add(boardstep);
                            //    context.SaveChanges();
                            //}
                        }
                    }
                    return(numberOfInserted > 0 ? _s : null);
                }
            }
            catch (System.Exception exc)
            {
                throw exc;
            }
        }
 private void close_Click(object sender, RoutedEventArgs e)
 {
     this.Close();
     DBContext.SaveChanges();
 }
Exemple #6
0
        public ActionResult DoNewProject(string projectID, string ProjectName, string ddlCounty,
                                         string tbPartyA, string ddlPartyB, string tbResponsiblePerson,
                                         string tbContact, string nbMoney, string ddlMoneyUnit,
                                         string dpDate)
        {
            if (Session["username"] == null || Session["username"].Equals(""))
            {
                return(RedirectToAction("Index", "Session"));
            }

            Project p = new Project();

            if (String.IsNullOrEmpty(projectID) || String.IsNullOrEmpty(ddlCounty) ||
                String.IsNullOrEmpty(tbPartyA) || String.IsNullOrEmpty(ddlPartyB) ||
                String.IsNullOrEmpty(nbMoney) || String.IsNullOrEmpty(dpDate))
            {
                return(RedirectToAction("LackOfJS", "Home"));
            }

            if (!ValidateProjectID(projectID))
            {
                ShowNotify("已经具有相同的项目编号", MessageBoxIcon.Warning);
                var txtProjectID = UIHelper.TextBox("projectID");
                txtProjectID.MarkInvalid(String.Format("已存在{0}这样的项目编号", projectID));
                return(UIHelper.Result());
            }

            p.ID       = Convert.ToInt32(projectID);
            p.Name     = ProjectName;
            p.CountyID = Convert.ToInt32(ddlCounty);

            p.PartyAName        = tbPartyA;
            p.PartyBID          = Convert.ToInt32(ddlPartyB);
            p.ResponsiblePerson = tbResponsiblePerson;
            p.ContactPhone      = tbContact;

            p.Money = computeMoney(nbMoney, ddlMoneyUnit);
            p.Date  = DateTime.ParseExact(dpDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture);

            using (var db = new ProjectManagementEntities())
            {
                db.Project.Add(p);
                try
                {
                    //int de = db.Database.ExecuteSqlCommand("INSERT INTO Project" +
                    //    "values (@p0 , @p1 , @p2 , @p3 , @p4 , @p5 , @p6 , @p7)",
                    //    new String[] { p.ID.ToString() ,p.CountyID.ToString() ,
                    //        p.PartyAName,p.PartyBID.ToString(),p.ResponsiblePerson,
                    //    p.ContactPhone,p.Date.ToString(),p.Money.ToString()});

                    db.SaveChanges();
                    ShowNotify("项目添加成功", MessageBoxIcon.Success);
                    UIHelper.Form("mainForm").Reset();
                    UIHelper.TextBox("projectID").Text(getDefaultProjectID().ToString());
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException)
                {
                    ShowNotify("数据无效,请检查表单!", MessageBoxIcon.Error);
                }
                catch (Exception)
                {
                    ShowNotify("服务器发生了未能处理的异常,请联系技术人员进行检测。", MessageBoxIcon.Error);
                }
            }
            return(UIHelper.Result());
        }