//[Authorize(Roles="UpdateProject")] public async Task <ObjectResult> Put(string id, [FromBody] PrjProjectViewModel prjVM) { GenericResult rs = new GenericResult(); //DEFACEWEBSITEContext context = new DEFACEWEBSITEContext(); PrjProjectMaster pro = prjVM.Project; IEnumerable <PrjProjectDT> proDts = prjVM.ProjectDT; try { XElement parent = null; if (proDts != null) { parent = new XElement("Root"); foreach (PrjProjectDT dt in proDts) { XElement child = new XElement("PRJ_PROJECT_DT", new XElement("PROJECT_ID", dt.PROJECT_ID), new XElement("EMPLOYEE_ID", dt.EMPLOYEE_ID), new XElement("PROJECT_CODE", dt.PROJECT_CODE), new XElement("PROJECT_NAME", dt.PROJECT_NAME), new XElement("EMLOYEE_CODE", dt.EMPLOYEE_CODE), new XElement("EMPLOYEE_NAME", dt.EMPLOYEE_NAME), new XElement("STATE", dt.STATE), new XElement("NOTES", dt.NOTES), new XElement("RECORD_STATUS", dt.RECORD_STATUS), new XElement("MAKER_ID", dt.MAKER_ID), new XElement("CREATE_DT", dt.CREATE_DT.Value.ToString("d")), new XElement("AUTH_STATUS", dt.AUTH_STATUS), new XElement("CHECKER_ID", dt.CHECKER_ID), new XElement("APPROVE_DT", dt.APPROVE_DT.Value.ToString("d")), new XElement("EDITOR_ID", dt.EDITOR_ID), new XElement("EDIT_DT", dt.EDIT_DT.Value.ToString("d")) ); parent.Add(child); } } string command = $"dbo.PRJ_PROJECT_MASTER_Upd @p_PROJECT_ID='{pro.PROJECT_ID}', @p_PROJECT_CODE='{pro.PROJECT_CODE}', @p_PROJECT_NAME=N'{pro.PROJECT_NAME}', @p_BEGIN_DATE='{pro.BEGIN_DATE.Value.ToString("d")}', @p_END_DATE='{pro.END_DATE.Value.ToString("d")}', @p_ESTIMATE_DATE='{pro.ESTIMATE_DATE.Value.ToString("d")}', @p_COMPLETION_DATE='{pro.COMPLETION_DATE.Value.ToString("d")}', @p_STATE='{pro.STATE}', @p_CONTRACT_ID='{pro.CONTRACT_ID}', @p_CONTRACT_CODE='{pro.CONTRACT_CODE}', @p_CONTRACT_TYPE='{pro.CONTRACT_TYPE}', @p_NOTES=N'{pro.NOTES}', @p_RECORD_STATUS='{pro.RECORD_STATUS}', @p_MAKER_ID='{pro.MAKER_ID}', @p_CREATE_DT='{pro.CREATE_DT.Value.ToString("d")}', @p_AUTH_STATUS='{pro.AUTH_STATUS}', @p_CHECKER_ID='{pro.CHECKER_ID}', @p_APPROVE_DT='{pro.APPROVE_DT.Value.ToString("d")}', @p_EDITOR_ID='{pro.EDITOR_ID}', @p_EDIT_DT='{pro.EDIT_DT.Value.ToString("d")}', @DT='{parent}', @p_MYSQL_USERNAME='******', @p_MYSQL_PASSWORD='******', @p_DATABASE_NAME='{pro.DATABASE_NAME}', @p_DOMAIN='{pro.DOMAIN}', @p_SUB_DOMAIN='{pro.SUB_DOMAIN}'"; var result = await _context.Database.ExecuteSqlCommandAsync(command, cancellationToken : CancellationToken.None); if (result > 0) { rs.Succeeded = true; rs.Message = "Cập nhật dự án thành công"; } else { rs.Succeeded = false; rs.Message = "Đã có lỗi xảy ra"; } ObjectResult objRes = new ObjectResult(rs); //context.Dispose(); return(objRes); } catch (Exception ex) { rs.Succeeded = false; rs.Message = ex.Message; ObjectResult objRes = new ObjectResult(rs); //context.Dispose(); return(objRes); } }
//[Authorize(Roles="AddProject")] public async Task <ObjectResult> Post([FromBody] PrjProjectViewModel prjVM) { GenericResult rs = new GenericResult(); PrjProjectMaster pro = prjVM.Project; IEnumerable <PrjProjectDT> proDts = prjVM.ProjectDT; string cmd = $"dbo.PRJ_PROJECT_MASTER_Lst"; var listResult = await _context.PrjProjectMaster.FromSql(cmd).ToListAsync(); if (listResult != null) { if (listResult.Any(prj => prj.MYSQL_USERNAME.Equals(pro.MYSQL_USERNAME))) { rs.Message = "Username CSDL đã tồn tại!"; rs.Succeeded = false; ObjectResult objRes = new ObjectResult(rs); return(objRes); } if (listResult.Any(prj => prj.DATABASE_NAME.Equals(pro.DATABASE_NAME))) { rs.Message = "Tên CSDL cần tạo đã tồn tại!"; rs.Succeeded = false; ObjectResult objRes = new ObjectResult(rs); return(objRes); } if (listResult.Any(prj => prj.SUB_DOMAIN.Equals(pro.SUB_DOMAIN))) { rs.Message = "Subdomain đã tồn tại!"; rs.Succeeded = false; ObjectResult objRes = new ObjectResult(rs); return(objRes); } } //DEFACEWEBSITEContext context = new DEFACEWEBSITEContext(); try { XElement parent = null; if (proDts != null) { parent = new XElement("Root"); foreach (PrjProjectDT dt in proDts) { XElement child = new XElement("PRJ_PROJECT_DT", new XElement("PROJECT_ID", dt.PROJECT_ID), new XElement("EMPLOYEE_ID", dt.EMPLOYEE_ID), new XElement("PROJECT_CODE", dt.PROJECT_CODE), new XElement("PROJECT_NAME", dt.PROJECT_NAME), new XElement("EMLOYEE_CODE", dt.EMPLOYEE_CODE), new XElement("EMPLOYEE_NAME", dt.EMPLOYEE_NAME), new XElement("STATE", dt.STATE), new XElement("NOTES", dt.NOTES), new XElement("RECORD_STATUS", dt.RECORD_STATUS), new XElement("MAKER_ID", dt.MAKER_ID), new XElement("CREATE_DT", dt.CREATE_DT.Value.ToString("d")), new XElement("AUTH_STATUS", dt.AUTH_STATUS), new XElement("CHECKER_ID", dt.CHECKER_ID), new XElement("APPROVE_DT", dt.APPROVE_DT.Value.ToString("d")), new XElement("EDITOR_ID", dt.EDITOR_ID), new XElement("EDIT_DT", dt.EDIT_DT.Value.ToString("d")) ); parent.Add(child); } } string command = $"dbo.PRJ_PROJECT_MASTER_Ins @p_PROJECT_CODE='{pro.PROJECT_CODE}', @p_PROJECT_NAME=N'{pro.PROJECT_NAME}', @p_BEGIN_DATE='{pro.BEGIN_DATE.Value.ToString("d")}', @p_END_DATE='{pro.END_DATE.Value.ToString("d")}', @p_ESTIMATE_DATE='{pro.ESTIMATE_DATE.Value.ToString("d")}', @p_COMPLETION_DATE='{pro.COMPLETION_DATE.Value.ToString("d")}', @p_STATE='{pro.STATE}', @p_CONTRACT_ID='{pro.CONTRACT_ID}', @p_CONTRACT_CODE='{pro.CONTRACT_CODE}', @p_CONTRACT_TYPE='{pro.CONTRACT_TYPE}', @p_NOTES=N'{pro.NOTES}', @p_RECORD_STATUS='{pro.RECORD_STATUS}', @p_MAKER_ID='{pro.MAKER_ID}', @p_CREATE_DT='{pro.CREATE_DT.Value.ToString("d")}', @p_AUTH_STATUS='{pro.AUTH_STATUS}', @p_CHECKER_ID='{pro.CHECKER_ID}', @p_APPROVE_DT='{pro.APPROVE_DT.Value.ToString("d")}', @p_EDITOR_ID='{pro.EDITOR_ID}', @p_EDIT_DT='{pro.EDIT_DT.Value.ToString("d")}', @DT='{parent}', @p_MYSQL_USERNAME='******', @p_MYSQL_PASSWORD='******', @p_DATABASE_NAME='{pro.DATABASE_NAME}', @p_DOMAIN='{pro.DOMAIN}', @p_SUB_DOMAIN='{pro.SUB_DOMAIN}'"; var result = await _context.Database.ExecuteSqlCommandAsync(command, cancellationToken : CancellationToken.None); //return result; if (result != -1) { rs.Message = "Thêm dự án thành công"; rs.Succeeded = true; } else { rs.Message = "Có lỗi xảy ra trong quá trình thêm!"; rs.Succeeded = false; } ObjectResult objRes = new ObjectResult(rs); //context.Dispose(); return(objRes); } catch (Exception ex) { rs.Message = "Lỗi " + ex.Message; rs.Succeeded = false; ObjectResult objRes = new ObjectResult(rs); //context.Dispose(); return(objRes); } }