Ejemplo n.º 1
0
        public ProjectResponse InsertProjectConvert(ProjectEntity project)
        {
            var response = new ProjectResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                var projects = ProjectDao.GetProjectsByProjectCodeObjectType(project.ProjectCode, project.ObjectType);
                if (projects != null)
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    switch (project.ObjectType)
                    {
                    case 1:
                        response.Message = @"Mã CTMT " + project.ProjectCode + @" đã tồn tại!";
                        break;

                    case 2:
                        response.Message = @"Mã dự án " + project.ProjectCode + @" đã tồn tại!";
                        break;

                    case 3:
                        response.Message = @"Mã HMCT " + project.ProjectCode + @" đã tồn tại!";
                        break;
                    }

                    return(response);
                }
                if (!project.Validate())
                {
                    foreach (string error in project.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.Message = ProjectDao.InsertProject(project);
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.ProjectId = project.ProjectId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Inserts the project.
        /// </summary>
        /// <param name="project">The project.</param>
        /// <returns></returns>
        public ProjectResponse InsertProject(ProjectEntity project)
        {
            var response = new ProjectResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                var projects = ProjectDao.GetProjectsByProjectCodeObjectType(project.ProjectCode, project.ObjectType);
                if (projects != null)
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    switch (project.ObjectType)
                    {
                    case 1:
                        response.Message = @"Mã CTMT " + project.ProjectCode + @" đã tồn tại!";
                        break;

                    case 2:
                        response.Message = @"Mã dự án " + project.ProjectCode + @" đã tồn tại!";
                        break;

                    case 3:
                        response.Message = @"Mã HMCT " + project.ProjectCode + @" đã tồn tại!";
                        break;
                    }

                    return(response);
                }
                if (!project.Validate())
                {
                    foreach (string error in project.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                project.ProjectId = Guid.NewGuid().ToString();
                response.Message  = ProjectDao.InsertProject(project);
                #region insert bank
                if (project.ProjectBanks.Count() > 0)
                {
                    project.ProjectBanks.ForEach(item =>
                    {
                        var bank = new BankEntity()
                        {
                            BankId       = Guid.NewGuid().ToString(),
                            BankAccount  = item.BankAccount,
                            BankName     = item.BankName,
                            IsActive     = true,
                            ProjectId    = project.ProjectId,
                            IsOpenInBank = true
                        };
                        BankDAO.InsertBank(bank);
                    });
                }
                #endregion
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.ProjectId = project.ProjectId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Updates the project.
        /// </summary>
        /// <param name="project">The project.</param>
        /// <returns></returns>
        public ProjectResponse UpdateProject(ProjectEntity project, bool editBank = false)
        {
            var response = new ProjectResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                var projects = ProjectDao.GetProjectsByProjectCodeObjectType(project.ProjectCode.Trim(), project.ObjectType);

                if ((projects != null) && projects.ProjectId != project.ProjectId)
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    switch (project.ObjectType)
                    {
                    case 1:
                        response.Message = @"Mã CTMT " + project.ProjectCode.Trim() + @" đã tồn tại!";
                        break;

                    case 2:
                        response.Message = @"Mã dự án " + project.ProjectCode.Trim() + @" đã tồn tại!";
                        break;

                    case 3:
                        response.Message = @"Mã HMCT " + project.ProjectCode.Trim() + @" đã tồn tại!";
                        break;
                    }

                    return(response);
                }

                if (!project.Validate())
                {
                    foreach (string error in project.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.Message = ProjectDao.UpdateProject(project);
                // lay ra danh sach bank cu
                if (editBank)
                {
                    var oldBanks = BankDAO.GetProjectBank(project.ProjectId);
                    oldBanks = oldBanks.Where(o => project.ProjectBanks.Count() == 0 || !project.ProjectBanks.Any(pb => o.BankId == pb.BankId)).ToList();
                    if (oldBanks.Count() > 0)
                    {
                        for (var i = 0; i < oldBanks.Count(); i++)
                        {
                            var bank = oldBanks[i];
                            response.Message = BankDAO.DeleteBank(bank);
                            if (!string.IsNullOrEmpty(response.Message))
                            {
                                if (response.Message.Contains("FK"))
                                {
                                    response.Message = @"Bạn không thể xóa tài khoản " + bank.BankAccount + " vì đã có phát sinh trong chứng từ hoặc danh mục liên quan!";
                                }
                                response.Acknowledge = AcknowledgeType.Failure;
                                return(response);
                            }
                        }
                    }
                    ;
                    #region insert bank
                    if (project.ProjectBanks.Count() > 0)
                    {
                        project.ProjectBanks.ForEach(item =>
                        {
                            if (item.BankId == null || item.BankId == Guid.Empty.ToString())
                            {
                                var bank = new BankEntity()
                                {
                                    BankId       = Guid.NewGuid().ToString(),
                                    BankAccount  = item.BankAccount,
                                    BankName     = item.BankName,
                                    IsActive     = true,
                                    ProjectId    = project.ProjectId,
                                    IsOpenInBank = true,
                                    SortBank     = item.SortBank,
                                };
                                BankDAO.InsertBank(bank);
                            }
                            else
                            {
                                var bank = new BankEntity()
                                {
                                    BankId       = item.BankId,
                                    BankAccount  = item.BankAccount,
                                    BankName     = item.BankName,
                                    IsActive     = true,
                                    ProjectId    = project.ProjectId,
                                    IsOpenInBank = true,
                                    SortBank     = item.SortBank,
                                };
                                BankDAO.UpdateBank(bank);
                            }
                        });
                    }
                }

                #endregion
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.ProjectId = project.ProjectId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }