コード例 #1
0
        private async Task <MessageReport> SendMessageProject(PM_Project project, PM_Component component)
        {
            var result = new MessageReport(false, "error");

            try
            {
                //Lấy danh sách người dùng liên quan tới component + người tạo dự án
                var users = await GetUserInvolved(component.Id);

                users.Add(project.UserCreatedId);

                //Lấy Players
                var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users);

                //Gửi
                var model = new OneSignalrMessage()
                {
                    Id          = "",
                    Title       = string.Format("Dự án: {0}", project.Title),
                    Description = string.Format("Nhắc nhở hoàn thành Component: {0}", component.Code),
                    UserIds     = "",
                    PlayerIds   = players.Select(n => n.PlayerId).ToArray(),
                    View        = "HomePage"
                };

                result = await _OS_PlayerService.SendMessage(model);
            }
            catch (System.Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(result);
        }
コード例 #2
0
        public async Task <MessageReport> Update(PM_Project model)
        {
            var query = new StringBuilder();

            query.AppendLine("{");
            query.AppendLine("'_id': { '$eq': '" + model.Id + "' }");
            query.AppendLine("}");

            return(await _PM_ProjectRepository.Update(MongoHelper.ConvertQueryStringToDocument(query.ToString()), model));
        }
コード例 #3
0
        public async Task <IActionResult> CreateNewProject(PM_Project model)
        {
            var result = new MessageReport(false, "Có lỗi xảy ra");

            try
            {
                if (string.IsNullOrWhiteSpace(model.Title))
                {
                    result = new MessageReport(false, "Vui lòng điền tên dự án");
                    return(Json(result));
                }

                //
                var currentUser = await SessionCookieHelper.CurrentUser(this.HttpContext);

                //Gán
                model.Id            = ObjectId.GenerateNewId().ToString();
                model.Description   = "";
                model.Note          = "";
                model.DateStart     = DateTime.Now;
                model.DateEnd       = DateTime.Now;
                model.DateCreated   = DateTime.Now;
                model.Status        = 0;
                model.UserCreatedId = currentUser != null ? currentUser.UserId : "";

                //
                result = await _PM_ProjectService.Create(model);

                if (result.isSuccess)
                {
                    result.Message = model.Id;
                }
            }
            catch (Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(Json(result));
        }
コード例 #4
0
 public int Manage(string Filter, PM_Project p)
 {
     return(pd.Manage(Filter, p.ProjectId, p.ProjectName, p.ScopeId, p.ClientId, p.EndClientId, p.ActualStartDate, p.ActualEndDate, p.StatusId, p.Color
                      , p.Description, p.IsActive, p.PriorityId, p.IsEstimate, p.BudgetCost, p.TargetDate, p.TaskTypeId, p.CompletionPercent, p.IsWoLinked, p.PlannedDate, p.WorkingDays, p.ManagerId, p.EntityId, p.IsWorkflowAllowed, p.CategoryId, p.CurrencyId));
 }
コード例 #5
0
 public async Task <MessageReport> Create(PM_Project model)
 {
     return(await _PM_ProjectRepository.Add(model));
 }
コード例 #6
0
ファイル: DefinationController.cs プロジェクト: swigithub/MVC
        public ActionResult New(PM_Project p)
        {
            Response   res   = new Response();
            AL_AlertBL model = new AL_AlertBL();

            try
            {
                // Insert Project Status Change Notification - Start
                AL_GetAlertSubscription Temp = new AL_GetAlertSubscription();
                Temp = model.IsSubscribed("IsSubscribed", (int)ViewBag.UserId, 0, (int)p.ProjectId, "Project Status Change");
                if (Temp.IsSubscribed)
                {
                    int status = model.InsertAlert("Insert_Alert", (int)p.ProjectId, (int)ViewBag.UserId, 0, (int)p.ProjectId, "Project Status Change", (int)p.StatusId);
                }
                // Insert Project Status Change Notification - End

                int                  x               = 0;
                PM_ProjectBL         pb              = new PM_ProjectBL();
                PM_GazetteHolidaysBL gh              = new PM_GazetteHolidaysBL();
                PM_WorkGroupsBL      PWG             = new PM_WorkGroupsBL();
                PM_TaskStagesBL      pM_TaskStagesBL = new PM_TaskStagesBL();
                if (p.WorkingDays != null)
                {
                    p.WorkingDays = p.WorkingDays.Substring(0, p.WorkingDays.Length - 1);
                }
                if (p.ProjectId > 0)
                {
                    pb.Manage("Update", p);

                    Int64 UID = ViewBag.UserId;
                    pb.ProjectUserPermission("UpdateUserPermissions", p.ManagerId, p.ProjectId);
                    //pb.ProjectUserPermission("UpdateUserPermissions", UID, p.ProjectId);
                    Permission.UpdateEntity(ViewBag.UserId);
                    PWG.Manage("Insert", p.ProjectId, p.WorkGroups);
                    if (p.GH != null)
                    {
                        p.GH[0].ProjectId = p.ProjectId;
                        gh.Manage("Delete", p.GH[0]);
                        gh.InsertBulk(p.ProjectId, p.GH);
                    }
                    else
                    {
                        PM_GazetteHolidays g = new PM_GazetteHolidays();
                        g.ProjectId = p.ProjectId;
                        g.Date      = DateTime.Now;
                        gh.Manage("Delete", g);
                        pb.ProjectUserPermission("UpdateUserPermissions", p.ManagerId, p.ProjectId);
                        //pb.ProjectUserPermission("UpdateUserPermissions", UID, p.ProjectId);
                        Permission.UpdateEntity(ViewBag.UserId);
                    }

                    // Update AND Add Task Stages
                    if (p.TS?.Count > 0)
                    {
                        bool IsEXE = pM_TaskStagesBL.UpdateOrAdd("UpdateOrAdd", p.ProjectId, p.TS);
                    }



                    res.Message = "Update successfully";
                }
                else
                {
                    p.IsActive = true;
                    var PId = pb.Manage("Insert", p);
                    PWG.Manage("Insert", PId, p.WorkGroups);

                    Int64 UID = ViewBag.UserId;
                    pb.ProjectUserPermission("InsertUserPermissions", p.ManagerId, PId);
                    pb.ProjectUserPermission("InsertUserPermissions", UID, PId);
                    Permission.UpdateEntity(ViewBag.UserId);
                    if (p.GH != null)
                    {
                        gh.InsertBulk(PId, p.GH);
                    }

                    if (p?.TS?.Count > 0)
                    {
                        var IsInserted = pM_TaskStagesBL.InsertBulk(PId, p.TS);
                    }
                    res.Value = PId;
                    Permission.AddProject(PId);
                    res.Message = "Save successfully";
                }
                res.Status = "success";
            }
            catch (Exception ex)
            {
                res.Status = "danger";
                if (ex.Message == "Object cannot be cast from DBNull to other types.")
                {
                    res.Message = "You Can't Insert Project who is already entered with same name and same client ";
                }
                else
                {
                    res.Message = ex.Message;
                }
            }
            return(Json(res, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
 public static Common.Business.PM_Project Fetch(PM_Project data)
 {
     Common.Business.PM_Project item = (Common.Business.PM_Project)Activator.CreateInstance(typeof(Common.Business.PM_Project));
     //using (ObjectFactory.BypassPropertyChecks(item))
     {
         item.Client              = data.Client;
         item.ProjCode            = data.ProjCode;
         item.ProjName            = data.ProjName;
         item.DeptCode            = data.DeptCode;
         item.CostCtr             = data.CostCtr;
         item.CtrlDeptCode        = data.CtrlDeptCode;
         item.ProjTypeCode        = data.ProjTypeCode;
         item.ProjFund            = data.ProjFund;
         item.ContrastCode1       = data.ContrastCode1;
         item.ContrastCode2       = data.ContrastCode2;
         item.ConBudProjCode      = data.ConBudProjCode;
         item.StartTime           = data.StartTime;
         item.EndTime             = data.EndTime;
         item.CloseDate           = data.CloseDate;
         item.LPersonId           = data.LPersonId;
         item.LPositionCode       = data.LPositionCode;
         item.DPositionCode       = data.DPositionCode;
         item.CLPositionCode      = data.CLPositionCode;
         item.SCLPositionCode     = data.SCLPositionCode;
         item.DLPersonId          = data.DLPersonId;
         item.CLPersonId          = data.CLPersonId;
         item.SCLPersonId         = data.SCLPersonId;
         item.StatusCode          = data.StatusCode;
         item.Memo                = data.Memo;
         item.ModProjCode         = data.ModProjCode;
         item.CanBud              = data.CanBud;
         item.IsAssPur            = data.IsAssPur;
         item.AssAmt              = data.AssAmt;
         item.IsUnderConstruction = data.IsUnderConstruction;
         item.IsFinConCtrl        = data.IsFinConCtrl;
         item.IsPublic            = data.IsPublic;
         item.IsComDef            = data.IsComDef;
         item.IsPirFund           = data.IsPirFund;
         item.IsDepInc            = data.IsDepInc;
         item.IsMemCtrl           = data.IsMemCtrl;
         item.IsInCtrl            = data.IsInCtrl;
         item.IsRateCtrl          = data.IsRateCtrl;
         item.IncomeCode          = data.IncomeCode;
         item.IncDetCode          = data.IncDetCode;
         item.AllotTypeCode       = data.AllotTypeCode;
         item.IsIRIn              = data.IsIRIn;
         item.Attribute           = data.Attribute;
         item.AttrCode            = data.AttrCode;
         item.IsCarryOver         = data.IsCarryOver;
         item.IsBudCarryOver      = data.IsBudCarryOver;
         item.IsInCarryOver       = data.IsInCarryOver;
         item.IsBudAppCtrl        = data.IsBudAppCtrl;
         item.IsFoucsAppro        = data.IsFoucsAppro;
         item.IsFlowAppro         = data.IsFlowAppro;
         item.IsVBudProj          = data.IsVBudProj;
         item.BudProjCode         = data.BudProjCode;
         item.IsPBud              = data.IsPBud;
         item.IsCHK               = data.IsCHK;
         item.IsCWCHK             = data.IsCWCHK;
         item.CanDeficit          = data.CanDeficit;
         item.IsDeficit           = data.IsDeficit;
         item.MaxDeficit          = data.MaxDeficit;
         item.FDAmt               = data.FDAmt;
         item.EscorwAmt           = data.EscorwAmt;
         item.CEscorwAmt          = data.CEscorwAmt;
         item.NeedTaxAmt          = data.NeedTaxAmt;
         item.CNeedTaxAmt         = data.CNeedTaxAmt;
         item.IsInv               = data.IsInv;
         item.InvAmt              = data.InvAmt;
         item.RcvAmt              = data.RcvAmt;
         item.TaxAmt              = data.TaxAmt;
         item.VATAmt              = data.VATAmt;
         item.DisAmt              = data.DisAmt;
         item.IsFixFee            = data.IsFixFee;
         item.FixMFee             = data.FixMFee;
         item.CFixMFee            = data.CFixMFee;
         item.IsPurCont           = data.IsPurCont;
         item.ProjSource          = data.ProjSource;
         item.OEntity             = data.OEntity;
         item.YSWF                = data.YSWF;
         item.YTWF                = data.YTWF;
         item.ZXWF                = data.ZXWF;
         item.JKWF                = data.JKWF;
         item.LWWF                = data.LWWF;
         item.XDWF                = data.XDWF;
         item.ComGrpCode          = data.ComGrpCode;
         item.RDprojLevCode       = data.RDprojLevCode;
         item.RDProjSouUnitCode   = data.RDProjSouUnitCode;
         item.RDProjTypeCode      = data.RDProjTypeCode;
         item.RDProjSubTypeCode   = data.RDProjSubTypeCode;
         item.RDauthorizeSn       = data.RDauthorizeSn;
         item.RDAchievement       = data.RDAchievement;
         item.RDAuthorizeFee      = data.RDAuthorizeFee;
         item.RDAttachFee         = data.RDAttachFee;
         item.Active              = data.Active;
         item.CreatedUser         = data.CreatedUser;
         item.CreatedDate         = data.CreatedDate;
         item.ChangedUser         = data.ChangedUser;
         item.ChangedDate         = data.ChangedDate;
         item.CCheckedUser        = data.CCheckedUser;
         item.CCheckedDate        = data.CCheckedDate;
         item.CWCheckedUser       = data.CWCheckedUser;
         item.CWCheckedDate       = data.CWCheckedDate;
     }
     ObjectFactory.MarkAsChild(item);
     ObjectFactory.MarkOld(item);
     return(item);
 }