public SingleResponeMessage <ExplanationDetailInfo> Get(int id, string _userID) { SingleResponeMessage <ExplanationDetailInfo> ret = new SingleResponeMessage <ExplanationDetailInfo>(); try { ExplanationDetailInfo item = ExplanationService.GetInstance().getDetailExplanation(id, _userID); if (item == null) { ret.isSuccess = false; ret.err.msgCode = "001"; ret.err.msgString = "no Explanation found"; return(ret); } ret.item = item; ret.isSuccess = true; } catch (Exception ex) { ret.isSuccess = false; ret.err.msgCode = "Internal Error !!!"; ret.err.msgString = ex.ToString(); } return(ret); }
public ExplanationDetailInfo getExplanationDetail(SqlConnection connection, int ID, string _userID) { ExplanationDetailInfo result = null; using (var command = new SqlCommand("Select E.*, P.ProposalCode, P.DepartmentID, D.DepartmentName, " + " P.ProposalType, PT.TypeName from (Select * " + " from tbl_Explanation where 1 = 1 ", connection)) { command.CommandText += " and ExplanationID = @ExplanationID"; AddSqlParameter(command, "@ExplanationID", ID, SqlDbType.Int); command.CommandText += " ) as E " + " left join tbl_Proposal P on P.ProposalID = E.ProposalID" + " left join tbl_Department D on P.DepartmentID = D.DepartmentID " + " left join tbl_ProposalType PT on PT.TypeID = P.ProposalType where 1 = 1"; command.CommandText += " order by E.UpdateTime Desc "; if (!string.IsNullOrEmpty(_userID) && _userID != "admin") { command.CommandText += " and ( E.UserAssign = @UserID ) or ( E.UserI = @UserID )"; AddSqlParameter(command, "@UserID", _userID, SqlDbType.VarChar); } WriteLogExecutingCommand(command); using (var reader = command.ExecuteReader()) { while (reader.Read()) { result = new ExplanationDetailInfo(); result.ExplanationID = GetDbReaderValue <int>(reader["ExplanationID"]); result.ExplanationCode = GetDbReaderValue <string>(reader["ExplanationCode"]); result.ExplanationName = GetDbReaderValue <string>(reader["ExplanationName"]); result.ProposalID = GetDbReaderValue <int>(reader["ProposalID"]); result.ProposalCode = GetDbReaderValue <string>(reader["ProposalCode"]); result.ProposalType = GetDbReaderValue <int>(reader["ProposalType"]); result.TypeName = GetDbReaderValue <string>(reader["TypeName"]); result.DepartmentID = GetDbReaderValue <int>(reader["DepartmentID"]); result.DepartmentName = GetDbReaderValue <string>(reader["DepartmentName"]); result.Necess = GetDbReaderValue <bool>(reader["Necess"]); result.Suitable = GetDbReaderValue <bool>(reader["Suitable"]); result.NBNum = GetDbReaderValue <string>(reader["NBNum"]); result.XNNum = GetDbReaderValue <string>(reader["XNNum"]); result.Available = GetDbReaderValue <string>(reader["Available"]); result.IsAvailable = GetDbReaderValue <bool>(reader["IsAvailable"]); result.Comment = GetDbReaderValue <string>(reader["Comment"]); result.TNCB = GetDbReaderValue <string>(reader["TNCB"]); result.Status = GetDbReaderValue <string>(reader["Status"]); result.DBLTCN = GetDbReaderValue <string>(reader["DBLTCN"]); result.NVHTTB = GetDbReaderValue <string>(reader["NVHTTB"]); result.DTNL = GetDbReaderValue <string>(reader["DTNL"]); result.NQL = GetDbReaderValue <string>(reader["NQL"]); result.HQKTXH = GetDbReaderValue <string>(reader["HQKTXH"]); result.ProductsName = GetDbReaderValue <string>(reader["ProductsName"]); result.UserI = GetDbReaderValue <string>(reader["UserI"]); result.InTime = GetDbReaderValue <DateTime?>(reader["InTime"]); result.UserU = GetDbReaderValue <string>(reader["UserU"]); result.UpdateTime = GetDbReaderValue <DateTime>(reader["UpdateTime"]); } } return(result); } }
public ActionMessage DeleteExplanation(int id, string user, string _userID) { ActionMessage ret = new ActionMessage(); ExplanationDetailInfo temp = getDetailExplanation(id, _userID); SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { try { UserLogInfo info = new UserLogInfo(); info.Action = "Delete"; if (temp != null) { info.Description = "code : " + temp.ExplanationCode + " id : " + id; } else { info.Description = " id : " + id; } info.Feature = TableFile.Proposal.ToString(); info.Time = DateTime.Now; info.UserName = user; info.UserID = 1; UserService.GetInstance().TrackUserAction(info); ExplanationDataLayer.GetInstance().Delete(connection, id); ret.isSuccess = true; } catch (Exception ex) { ret.isSuccess = false; ret.err.msgCode = "Internal Error"; ret.err.msgString = ex.ToString(); } } return(ret); }
public ExplanationDetailInfo getDetailExplanation(int _ID, string _userID) { ExplanationDetailInfo record = new ExplanationDetailInfo(); SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { record = ExplanationDataLayer.GetInstance().getExplanationDetail(connection, _ID, _userID); if (record == null) { return(null); } //Get document DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria(); documentCriteria.TableName = TableFile.Explanation.ToString(); documentCriteria.PreferId = _ID.ToString(); record.ListDocument = DocumentService.GetInstance().GetDocument(documentCriteria); record.Items = new List <ItemPropsalInfo>(); record.Items = ProposalDataLayer.GetInstance().GetPropsalItems(connection, record.ProposalID); //get Comment CommentSeachCriteria commentCriteria = new CommentSeachCriteria(); commentCriteria.TableName = TableFile.Explanation.ToString(); commentCriteria.PreferId = _ID.ToString(); record.ListComment = CommentService.GetInstance().getComment(commentCriteria); foreach (var item in record.ListComment) { DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria(); documentCriteria2.TableName = TableFile.Comment.ToString(); documentCriteria2.PreferId = item.AutoID.ToString(); item.ListDocument = DocumentService.GetInstance().GetDocument(documentCriteria2); } return(record); } }
public static MemoryStream GetTemplate(int id, string path, out string code, string _userID) { var memoryStream = new MemoryStream(); ExplanationDetailInfo item = ExplanationService.GetInstance().getDetailExplanation(id, _userID); // var index = item.ProposalType - 1; using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) fileStream.CopyTo(memoryStream); code = item.ProposalCode; using (var document = WordprocessingDocument.Open(memoryStream, true)) { document.ChangeDocumentType(WordprocessingDocumentType.Document); // change from template to document DateTime date = DateTime.Now; string currentDate = "Ngày " + date.ToString("dd/MM/yyyy"); var body = document.MainDocumentPart.Document.Body; var paras = body.Elements <Paragraph>(); var itemName = ""; foreach (ItemPropsalInfo record in item.Items) { itemName = itemName + record.ItemName + ", "; } itemName = itemName.Substring(0, itemName.Length - 1); foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("itemname", WordUtils.checkNull(itemName)); text.Text = text.Text.Replace("nbNumber", WordUtils.checkNull(item.NBNum)); text.Text = text.Text.Replace("xnNumber", WordUtils.checkNull(item.XNNum)); text.Text = text.Text.Replace("numberMachine", WordUtils.checkNull(item.Available.ToString())); text.Text = text.Text.Replace("explainationcode", WordUtils.checkNull(item.ExplanationCode)); text.Text = text.Text.Replace("reason", WordUtils.checkNull(item.Comment)); text.Text = text.Text.Replace("tncb", WordUtils.checkNull(item.TNCB)); text.Text = text.Text.Replace("dbltcn", WordUtils.checkNull(item.DBLTCN)); text.Text = text.Text.Replace("nvh", WordUtils.checkNull(item.NVHTTB)); text.Text = text.Text.Replace("dtnl", WordUtils.checkNull(item.DTNL)); text.Text = text.Text.Replace("nql", WordUtils.checkNull(item.NQL)); text.Text = text.Text.Replace("hqktcxh", WordUtils.checkNull(item.HQKTXH)); } List <int> Checks = new List <int>(); if (item.Necess == true) { Checks.Add(0); } else { Checks.Add(1); } if (item.Suitable == true) { Checks.Add(2); } else { Checks.Add(3); } if (item.IsAvailable == true) { Checks.Add(4); } else { Checks.Add(5); } int i = 0; foreach (SdtContentCheckBox ctrl in body.Descendants <SdtContentCheckBox>()) { if (Checks.IndexOf(i) > -1) { ctrl.Checked.Val = OnOffValues.One; ctrl.Parent.Parent.Descendants <Run>().First().GetFirstChild <Text>().Text = "☒"; } i++; } document.Save(); document.Close(); } return(memoryStream); }