Example #1
0
        public ActionResult TicketDetails(string id, string Command, IssueDetail issueDetail)
        {
            string updateddate = DateTime.UtcNow.ToShortDateString();

            if (id != null)
            {
                ViewBag.record = othersService.TicketRecordService(long.Parse(id));
                ViewBag.ticket = othersService.TicketDetail(long.Parse(id));
            }
            if (Command == "Submit")
            {
                issueDetail.TicketId     = long.Parse(id);
                issueDetail.RepliedBy    = ValidUserUtility.ValidUser();
                issueDetail.ReplayedDate = Convert.ToDateTime(updateddate);
                issueDetail.UpdatedBy    = ValidUserUtility.ValidUser();
                issueDetail = othersService.AddTicket(issueDetail);
                if (issueDetail.TicketCommuId != 0)
                {
                    return(Content("<script language='javascript' type='text/javascript'>alert('Replied Successfully');location.href='" + @Url.Action("tickets", "others") + "'</script>"));
                }
                else
                {
                    return(Content("<script language='javascript' type='text/javascript'>alert('Failed');location.href='" + @Url.Action("tickets", "others") + "'</script>"));
                }
            }
            return(View());
        }
Example #2
0
        private void btnIssDeAdd_Click(object sender, RoutedEventArgs e)
        {
            IssueDetail issueDetail = new IssueDetail();
            Product     proc        = cbxProduct.SelectedItem as Product;

            issueDetail.ProId     = proc.Id;
            issueDetail.Quantity  = int.Parse(txtQuantity.Text);
            issueDetail.Remainder = issueDetail.Quantity.Value;
            issueDetail.Amount    = issueDetail.Quantity.Value * proc.Price;
            var curIssueDetail = lstIssueDetails.Where(c => c.ProId == issueDetail.ProId).FirstOrDefault();

            if (curIssueDetail != null)
            {
                curIssueDetail.Quantity  += issueDetail.Quantity;
                curIssueDetail.Remainder += issueDetail.Remainder;
                curIssueDetail.Amount    += issueDetail.Amount;
            }
            else
            {
                lstIssueDetails.Add(issueDetail);
            }

            UpdateTextBoxTotal(issueDetail.Amount.Value);

            RefreshGridIssueDetails();
        }
        public IssueDetailByFarmer IssueDetailByFarmer(string MobileNo)
        {
            DataSet ds = _Apdal.IssueDetailByFarmer(MobileNo);

            IssueDetailByFarmer Isd = new IssueDetailByFarmer();

            if (ds != null && ds.Tables[0] != null)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    List <IssueDetail> _IL = new List <IssueDetail>();
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        IssueDetail ILF = new IssueDetail();
                        ILF.QueryID      = Convert.ToInt32(ds.Tables[0].Rows[i]["QueryID"].ToString());
                        ILF.MobileNo     = ds.Tables[0].Rows[i]["MobNo"].ToString();
                        ILF.FarmerName   = ds.Tables[0].Rows[i]["FarmerName"].ToString();
                        ILF.CategoryName = ds.Tables[0].Rows[i]["CategoryName"].ToString();
                        ILF.IssueType    = ds.Tables[0].Rows[i]["IssueType"].ToString();
                        ILF.IssueDetails = ds.Tables[0].Rows[i]["IssueDetail"].ToString();
                        ILF.CreatorName  = ds.Tables[0].Rows[i]["CreatorName"].ToString();
                        ILF.CreatedDate  = ds.Tables[0].Rows[i]["CreatedDate"].ToString();
                        ILF.Query        = ds.Tables[0].Rows[i]["Query"].ToString();
                        _IL.Add(ILF);
                    }
                    Isd.IssueList = _IL;
                }
            }
            return(Isd);
        }
 public void ShowTransitioner(string Link, string Title, bool bIsSubscribedCard)
 {
     MyDialogHost.IsOpen          = true;
     MyTransitioner.SelectedIndex = 1;
     IssueDetail.LoadIssue(Link, Title, bIsSubscribedCard, this);
     MyDialogHost.IsOpen = false;
 }
Example #5
0
        public int InsertIssueDetails(IssueItem model)
        {
            Mapper.CreateMap <IssueItem, IssueDetail>();
            IssueDetail objIssueItem = Mapper.Map <IssueDetail>(model);

            dbContext.IssueDetails.Add(objIssueItem);
            return(dbContext.SaveChanges());
        }
Example #6
0
        public IssueDetail AddTicket(IssueDetail issueDetail)
        {
            string updateddate = DateTime.UtcNow.ToShortDateString();

            issueDetail.Status      = "Active";
            issueDetail.UpdatedDate = Convert.ToDateTime(updateddate);
            return(othersRepository.AddTicket(issueDetail));
        }
Example #7
0
        protected void btnSaveDetail_Click(object sender, EventArgs e)
        {
            try
            {
                IssueDetail IssueDetail;
                if (Session["IssueDetailId"] != null)
                {
                    int recDetId = (int)Session["IssueDetailId"];

                    if (recDetId > 0)
                    {
                        IssueDetail = _presenter.CurrentIssue.GetIssueDetail(recDetId);
                    }
                    else
                    {
                        IssueDetail = _presenter.CurrentIssue.IssueDetails[(int)Session["detailIndex"]];
                    }
                }
                else
                {
                    IssueDetail = new IssueDetail();
                }

                IssueDetail.ItemCategory    = _presenter.GetItemCategory(Convert.ToInt32(ddlCategory.SelectedValue));
                IssueDetail.ItemSubCategory = _presenter.GetItemSubCategory(Convert.ToInt32(ddlSubCategory.SelectedValue));
                IssueDetail.Item            = _presenter.GetItem(Convert.ToInt32(ddlItem.SelectedValue));
                IssueDetail.Store           = _presenter.GetStore(Convert.ToInt32(ddlStore.SelectedValue));
                IssueDetail.Section         = _presenter.GetSection(Convert.ToInt32(ddlSection.SelectedValue));
                IssueDetail.Shelf           = _presenter.GetShelf(Convert.ToInt32(ddlShelf.SelectedValue));
                IssueDetail.Quantity        = Convert.ToDecimal(txtQuantity.Text);
                IssueDetail.UnitCost        = Convert.ToDecimal(txtUnitCost.Text);
                IssueDetail.TotalQuantity   = IssueDetail.Quantity * IssueDetail.UnitCost;
                IssueDetail.ExpiryDate      = Convert.ToDateTime(txtExpiryDate.Text);
                IssueDetail.Remark          = txtRemark.Text;

                if (Session["IssueDetailId"] == null)
                {
                    _presenter.CurrentIssue.IssueDetails.Add(IssueDetail);
                }
                else
                {
                    _presenter.CurrentIssue.IssueDetails[(int)Session["detailIndex"]] = IssueDetail;
                }

                BindIssueDetails();
                Session["IssueDetailId"] = null;
                Session["detailIndex"]   = null;

                Master.ShowMessage(new AppMessage("Item Issue Detail Successfully Added", RMessageType.Info));
            }
            catch (Exception ex)
            {
                Master.ShowMessage(new AppMessage(ex.Message, RMessageType.Error));
                ExceptionUtility.LogException(ex, ex.Source);
                ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName);
            }
        }
Example #8
0
        public int Update(IssueItem model)
        {
            IssueDetail objIssue = dbContext.IssueDetails.SingleOrDefault(m => m.IssueId == model.IssueId);

            objIssue.Item_id       = model.Item_id;
            objIssue.Cat_id        = model.Cat_id;
            objIssue.IssueQuantity = model.IssueQuantity;
            objIssue.VendorName    = model.VendorName;
            objIssue.ChallanNo     = model.ChallanNo;

            objIssue.UpdatedDate = System.DateTime.Now;
            return(dbContext.SaveChanges());
        }
Example #9
0
 public HttpResponseMessage LoadIssueDetail(HttpRequestMessage request, int iss_id)
 {
     return(CreateHttpResponse(request, () =>
     {
         HttpResponseMessage response = null;
         var issue = new IssueDetail();
         var currentIssue = _issueRepository.GetSingle(iss_id);
         issue.pub_desc = currentIssue.lu_pub.pub_desc;
         issue.iss_dt = currentIssue.iss_dt.ToShortDateString();
         issue.iss_id = currentIssue.iss_id;
         response = request.CreateResponse(HttpStatusCode.OK, issue);
         return response;
     }));
 }
Example #10
0
        public void Add(Issue iss, List <IssueDetail> lstIssD)
        {
            using (DistributorEntities ent = new DistributorEntities())
            {
                ent.Issues.Add(iss);
                ent.SaveChanges();

                var lstRemainIssue = ent.IssueDetails.Where(c => c.SellerId == iss.SellerId && c.Remainder != 0).ToList();

                foreach (IssueDetail issD in lstIssD)
                {
                    issD.SellerId    = iss.SellerId;
                    issD.DateOfIssue = iss.DateOfIssue;
                    ent.IssueDetails.Add(issD);
                    Product proc = ent.Products.Where(c => c.Id == issD.ProId).FirstOrDefault();
                    proc.Quantity -= issD.Quantity;
                    ent.SaveChanges();
                }



                foreach (IssueDetail issD in lstRemainIssue)
                {
                    var tempIss = ent.IssueDetails.Where(c => c.SellerId == iss.SellerId && c.ProId == issD.ProId && c.DateOfIssue == iss.DateOfIssue).FirstOrDefault();
                    if (tempIss != null)
                    {
                        tempIss.Quantity  += issD.Remainder.Value;
                        tempIss.Remainder += issD.Remainder.Value;
                        tempIss.Amount    += issD.Remainder.Value * issD.Product.Price.Value;

                        ent.SaveChanges();
                    }
                    else
                    {
                        IssueDetail newIssue = new IssueDetail
                        {
                            SellerId    = iss.SellerId,
                            ProId       = issD.ProId,
                            DateOfIssue = iss.DateOfIssue,
                            Quantity    = issD.Remainder,
                            Remainder   = issD.Remainder,
                            Amount      = issD.Remainder.Value * issD.Product.Price.Value
                        };
                        ent.IssueDetails.Add(newIssue);
                        ent.SaveChanges();
                    }
                }
            }
        }
        public void ReturnToStock(IssueDetail issDetail)
        {
            using (DistributorEntities ent = new DistributorEntities())
            {
                var issCurDetail = ent.IssueDetails.Where(c => c.SellerId == issDetail.SellerId && c.ProId == issDetail.ProId && c.DateOfIssue == issDetail.DateOfIssue).FirstOrDefault();
                var product      = ent.Products.Where(c => c.Id == issCurDetail.ProId).FirstOrDefault();
                var issCur       = ent.Issues.Where(c => c.SellerId == issCurDetail.SellerId && c.DateOfIssue == issCurDetail.DateOfIssue).FirstOrDefault();

                issCur.Debt           -= issCurDetail.Remainder.Value * issCurDetail.Product.Price.Value;
                product.Quantity      += issCurDetail.Remainder.Value;
                issCurDetail.Remainder = 0;

                ent.SaveChanges();
            }
        }
Example #12
0
        public ActionResult Create(IssueDetail id)
        {
            BusinessLayerObjects obj = new BusinessLayerObjects();

            id.AssingedBy = Session["EmailId"].ToString();

            Debug.Print(id.AssingedToList);

            Int64 MantisId = obj.SaveIssueDetail(id);


            /*var Users = obj.GetUserList();
             * ViewBag.Users = Users;*/

            return(RedirectToAction("Details", new { MantisId = MantisId }));
        }
Example #13
0
        protected void grvIssueDetails_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                IssueDetail issueDetail = e.Row.DataItem as IssueDetail;
                LinkButton  lb          = e.Row.Cells[6].Controls[0] as LinkButton;

                //If the row contains a fixed item, change the operation link
                if (issueDetail.Item.ItemType == "Fixed Asset")
                {
                    e.Row.BackColor = System.Drawing.Color.LightGoldenrodYellow;
                    lb.Text         = "Update Fixed Asset";
                }
                else
                {
                    lb.Text = "Update Current Asset";
                }
            }
        }
Example #14
0
 public IssueDTODetailed(ObjectId id, StateDTO state, ProjectDTO project, UserDTO client, UserDTO author,
                         IList <UserDTO>?assignedUsers, IList <IssueConversationDTO>?conversationItems,
                         IList <IssueTimeSheetDTO>?timeSheets, IssueDetail issueDetail, IssueDTO?parentIssue, IList <IssueDTO>?childrenIssues,
                         IList <IssueDTO>?predecessorIssues, IList <IssueDTO>?successorIssues)
 {
     Id                = id;
     State             = state;
     Project           = project;
     Client            = client;
     Author            = author;
     AssignedUsers     = assignedUsers;
     ConversationItems = conversationItems;
     TimeSheets        = timeSheets;
     IssueDetail       = issueDetail;
     ParentIssue       = parentIssue;
     ChildrenIssues    = childrenIssues;
     PredecessorIssues = predecessorIssues;
     SuccessorIssues   = successorIssues;
 }
Example #15
0
        public ActionResult Create(long MantisID)
        {
            //if (Session["EmailId"] == null)
            //{
            //    return RedirectToAction("Index", "User");
            //}

            IssueDetail id = new IssueDetail();

            //instantiate View model class
            BusinessLayerObjects obj = new BusinessLayerObjects();

            id = obj.CreateNewStep(MantisID);

            //Get list of users except current user
            var Users = obj.GetUserList().Where(m => m.EmailId != Session["EmailId"].ToString()).ToList();

            ViewBag.Users = Users;

            IEnumerable <ConfigSetting> objConfigList = obj.GetConfigList("Status");
            var typeOfWork = objConfigList.Where(m => m.SettingName == "TypeOfWork").ToList();

            ViewBag.typeOfWork = typeOfWork;

            var priority = objConfigList.Where(m => m.SettingName == "Priority").ToList();

            ViewBag.priority = priority;

            var taskStatus = objConfigList.Where(m => m.SettingName == "TaskStatus").ToList();

            ViewBag.taskStatus = taskStatus;

            var taskSubStatus = objConfigList.Where(m => m.SettingName == "TaskSubStatus").ToList();

            ViewBag.taskSubStatus = taskSubStatus;

            var taskComplexity = objConfigList.Where(m => m.SettingName == "TaskComplexity").ToList();

            ViewBag.taskComplexity = taskComplexity;

            return(View(id));
        }
Example #16
0
        /// <summary>
        /// Thêm Hóa đơn nhập chi tiết
        /// </summary>
        /// <param name="issueId">Mã hóa đơn nhập</param>
        /// <param name="productId">Mã mặt hàng</param>
        /// <param name="quantity">Số lượng nhập</param>
        /// <param name="price">Thành tiền</param>
        /// <param name="total"></param>
        /// <param name="departmentId"></param>
        private void InsertIssueDetails(string issueId, string productId, int quantity, int price, int total, string departmentId)
        {
            //DateTime date = DateTime.Now;
            var date        = DateTime.Parse(txtReceiptDate.Text);
            var issueDetail = new IssueDetail()
            {
                IssueID      = issueId,
                ProductID    = productId,
                Quantity     = quantity,
                Price        = price,
                Active       = true,
                CreatedDate  = date,
                DepartmentID = departmentId,
                Total        = total,
            };

            try
            {
                _issueDetailService.Add(issueDetail);
                try
                {
                    _weekReportService.InsertOrUpdateWeekReport(departmentId, gridLookUpEditDepartment.Text, date, quantity);
                }
                catch (SqlException ex)
                {
                    MessageBoxHelper.ShowMessageBoxError(ex.Message);
                }
                catch (Exception ex)
                {
                    MessageBoxHelper.ShowMessageBoxError(ex.Message);
                }
            }
            catch (SqlException ex)
            {
                MessageBoxHelper.ShowMessageBoxError(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBoxHelper.ShowMessageBoxError(ex.Message);
            }
        }
Example #17
0
        /// <summary>
        /// Thêm Hóa đơn nhập chi tiết
        /// </summary>
        /// <param name="issueId">Mã hóa đơn nhập</param>
        /// <param name="productId">Mã mặt hàng</param>
        /// <param name="quantityIssue">Số lượng nhập</param>
        /// <param name="price">Thành tiền</param>
        /// <param name="total"></param>
        /// <param name="departmentId"></param>
        private void InsertIssueDetails(string issueId, string productId, int quantityIssue, int price, int total, string departmentId, string productName)
        {
            //DateTime date = DateTime.Now;
            var date        = DateTime.Now.Date;
            var issueDetail = new IssueDetail()
            {
                IssueID      = issueId,
                ProductID    = productId,
                Quantity     = quantityIssue,
                Price        = price,
                Active       = true,
                CreatedDate  = date,
                DepartmentID = departmentId,
                Total        = total,
            };

            try
            {
                _issueDetailService.Add(issueDetail);
                try
                {
                    _weekReportService.InsertOrUpdateWeekReport(departmentId, productName, date, quantityIssue);
                }
                catch (SqlException ex)
                {
                    messageError.InnerText = ex.Message;
                }
                catch (Exception ex)
                {
                    messageError.InnerText = ex.Message;
                }
            }
            catch (SqlException ex)
            {
                messageError.InnerText = ex.Message;
            }
            catch (Exception ex)
            {
                messageError.InnerText = ex.Message;
            }
        }
        public void UpdateRemainder(IssueDetail issDetail, int remain)
        {
            using (DistributorEntities ent = new DistributorEntities())
            {
                var issCurDetail = ent.IssueDetails.Where(c => c.SellerId == issDetail.SellerId && c.ProId == issDetail.ProId && c.DateOfIssue == issDetail.DateOfIssue).FirstOrDefault();
                issCurDetail.Remainder -= remain;
                var issCur = ent.Issues.Where(c => c.SellerId == issCurDetail.SellerId && c.DateOfIssue == issCurDetail.DateOfIssue).FirstOrDefault();
                issCur.Debt -= remain * issCurDetail.Product.Price.Value;

                ent.SaveChanges();

                SellerSale sale = new SellerSale
                {
                    SellerId = issDetail.SellerId,
                    ProId    = issDetail.ProId,
                    Month    = issDetail.DateOfIssue.Month,
                    Year     = issDetail.DateOfIssue.Year,
                    Quantity = remain,
                    Sales    = remain * issCurDetail.Product.Price.Value
                };

                new SellerSaleDAO().Add(sale);
            }
        }
Example #19
0
        private void GetItemsFromStoreReq()
        {
            int storeReqId = Convert.ToInt32(Request.QueryString["StoreReqId"]);

            if (storeReqId != 0)
            {
                StoreRequest storeReq = _presenter.GetStoreRequest(storeReqId);
                foreach (StoreRequestDetail srDetail in storeReq.StoreRequestDetails)
                {
                    if (srDetail.Item.ItemType != "Fixed Asset" && (srDetail.IssuedQuantity < srDetail.QtyApproved))
                    {
                        IssueDetail issueDet = new IssueDetail();
                        issueDet.ItemCategory       = srDetail.Item.ItemSubCategory.ItemCategory;
                        issueDet.ItemSubCategory    = srDetail.Item.ItemSubCategory;
                        issueDet.Item               = srDetail.Item;
                        issueDet.Quantity           = srDetail.QtyApproved;
                        issueDet.StoreRequestDetail = srDetail;
                        _presenter.CurrentIssue.IssueDetails.Add(issueDet);
                    }
                    else
                    {
                        for (int i = 1; i <= (srDetail.QtyApproved - srDetail.IssuedQuantity); i++)
                        {
                            IssueDetail issueDet = new IssueDetail();
                            issueDet.ItemCategory       = srDetail.Item.ItemSubCategory.ItemCategory;
                            issueDet.ItemSubCategory    = srDetail.Item.ItemSubCategory;
                            issueDet.StoreRequestDetail = srDetail;
                            issueDet.Item     = srDetail.Item;
                            issueDet.Quantity = 1;
                            _presenter.CurrentIssue.IssueDetails.Add(issueDet);
                        }
                    }
                }
            }
            BindIssueDetails();
        }
Example #20
0
 public Issue()
 {
     response = string.Empty;
     detail   = new IssueDetail();
 }
 public IssueDetail AddTicket(IssueDetail issueDetail)
 {
     _dbContext.IssueDetail.Add(issueDetail);
     _dbContext.SaveChanges();
     return(issueDetail);
 }
Example #22
0
 public void DeleteIssueDetail(IssueDetail IssueDetail)
 {
     _controller.DeleteEntity(IssueDetail);
 }
Example #23
0
        public IssueDetail InsertIssueDetail(IssueDetail issueDetail)
        {
            IssueDetailRepository issueDetailRepository = new IssueDetailRepository();

            return(issueDetail = issueDetailRepository.saveissuedetails(issueDetail));
        }
Example #24
0
 public Issue(string stControl, IssueDetail detail)
 {
     response    = stControl;
     this.detail = detail;
 }
Example #25
0
 /// <summary>
 /// Thêm mới
 /// </summary>
 /// <param name="issueDetail"></param>
 /// <returns></returns>
 public void Add(IssueDetail issueDetail)
 {
     _context.IssueDetails.Add(issueDetail);
     SaveChanges();
 }
Example #26
0
 /// <summary>
 /// Cập nhật thông tin
 /// </summary>
 /// <param name="issueDetail"></param>
 public void Update(IssueDetail issueDetail)
 {
     _context.IssueDetails.Attach(issueDetail);
     _context.Entry(issueDetail).State = EntityState.Modified;
     SaveChanges();
 }
 public IssueDetail saveissuedetails(IssueDetail issueDetail)
 {
     _DBcontect.IssueDetail.Add(issueDetail);
     _DBcontect.SaveChanges();
     return(issueDetail);
 }
        public async Task <IssueDetailViewModel> AddIssueDetailAsync(User user, AddIssueDetailFormModel issueDetailForm)
        {
            try
            {
                var issue = await _context.Issues.FindAsync(issueDetailForm.IssueId);

                if (issue is null)
                {
                    throw new ExperienceManagementGlobalException(IssueServiceErrors.IssueNotFoundError);
                }
                var userReq = await _context.Users.FindAsync(issueDetailForm.UserId);

                if (userReq is null)
                {
                    throw new ExperienceManagementGlobalException(UsersServiceErrors.UserNotFoundError);
                }
                var issueDetail = new IssueDetail()
                {
                    IssueId        = issue.Id,
                    CreationDate   = DateTime.Now,
                    Caption        = issueDetailForm.Caption,
                    Text           = issueDetailForm.Text,
                    UserId         = issueDetailForm.UserId,
                    LastUpdateDate = DateTime.Now
                };
                issue.AnswerCounts   = issue.AnswerCounts + 1;
                issue.LastUpdateDate = DateTime.Now;
                _context.Issues.Update(issue);

                await _context.IssueDetails.AddAsync(issueDetail);

                if (issueDetailForm.UploadFiles != null && issueDetailForm.UploadFiles.Count > 0)
                {
                    var notFoundFiles = 0;
                    var filesAddress  = new List <FileAddress>();
                    issueDetailForm.UploadFiles.ForEach(uf =>
                    {
                        var fileAddress = _context.FileAddresses.Find(uf);
                        if (fileAddress == null)
                        {
                            notFoundFiles++;
                        }
                        filesAddress.Add(fileAddress);
                    });
                    if (notFoundFiles > 0)
                    {
                        throw new ExperienceManagementGlobalException(IssueServiceErrors.NotExistFileAddressError);
                    }

                    filesAddress.ForEach(async fa =>
                    {
                        var issueDetailAttachment = new IssueDetailAttachment()
                        {
                            IssueDetails = issueDetail,
                            FileId       = fa.FileId,
                            FileSize     = fa.FileSize,
                            FileType     = fa.FileType,
                        };
                        await _context.IssueDetailAttachments.AddAsync(issueDetailAttachment);
                    });
                }

                if (issueDetailForm.EquipmentAttachmentIds != null && issueDetailForm.EquipmentAttachmentIds.Count > 0)
                {
                    issueDetailForm.EquipmentAttachmentIds.ForEach(async EqId =>
                    {
                        var eqAttDetailSubscription = new EquipmentAttachmentIssueDetailSubscription()
                        {
                            IssueDetail           = issueDetail,
                            EquipmentAttachmentId = EqId
                        };
                        await _context.EquipmentAttachmentIssueDetailSubscriptions.AddAsync(eqAttDetailSubscription);
                    });
                }


                await _context.SaveChangesAsync();


                var issueDetailsViewM = new IssueDetailViewModel()
                {
                    Caption                       = issueDetail.Caption,
                    CreationDate                  = issueDetail.CreationDate,
                    Text                          = issueDetail.Text,
                    IsCorrectAnswer               = issueDetail.IsCorrectAnswer,
                    IssueId                       = issueDetail.IssueId,
                    Likes                         = issueDetail.Likes,
                    IssueDetailId                 = issueDetail.Id,
                    UserId                        = issueDetail.UserId,
                    UserName                      = issueDetail.User.Username,
                    LastUpdateDate                = issueDetail.LastUpdateDate,
                    IssueDetailComments           = new List <IssueDetailCommentViewModel>(),
                    IssueDetailAttachments        = new List <IssueDetailAttachmentViewModel>(),
                    EquipmentAttachmentViewModels = new List <EquipmentAttachmentViewModel>()
                };
                issueDetail.IssueDetailComments?.ToList().ForEach(c =>
                {
                    var IssueDetailComment = new IssueDetailCommentViewModel()
                    {
                        Comment       = c.Comment,
                        CreationDate  = c.CreationDate,
                        IssueDetailId = c.IssueDetailId,
                        Id            = c.Id,
                        UserId        = c.UserId,
                        UserName      = c.User.Username
                    };
                    issueDetailsViewM.IssueDetailComments.Add(IssueDetailComment);
                });
                issueDetail.IssueDetailAttachments?.ToList().ForEach(c =>
                {
                    var IssueDetailAtt = new IssueDetailAttachmentViewModel()
                    {
                        FileSize      = c.FileSize,
                        FileType      = c.FileType,
                        FileId        = c.FileId,
                        ContentType   = ContentType.GetContentType($".{c.FileType}"),
                        IssueDetailId = c.IssueDetailId,
                        Id            = c.Id,
                    };
                    issueDetailsViewM.IssueDetailAttachments.Add(IssueDetailAtt);
                });

                if (issueDetail.EquipmentAttachmentIssueDetailSubscriptions != null)
                {
                    var EqIds = issueDetail.EquipmentAttachmentIssueDetailSubscriptions.Select(c => c.Id).ToList();
                    var resp  = await _context.EquipmentAttachmentIssueDetailSubscriptions.Include(c => c.EquipmentAttachment).Where(c => EqIds.Contains(c.Id)).ToListAsync();

                    resp?.ToList().ForEach(c =>
                    {
                        var equipmentAttachment = new EquipmentAttachmentViewModel()
                        {
                            EquipmentAttachmentId   = c.Id,
                            CreationDate            = c.EquipmentAttachment.CreationDate,
                            Description             = c.EquipmentAttachment.Description,
                            EquipmentAttachmentName = c.EquipmentAttachment.EquipmentAttachmentName,
                            EquipmentId             = c.EquipmentAttachment.EquipmentId,
                            EquipmentAttachmentType = c.EquipmentAttachment.EquipmentAttachmentType,
                            FileId   = c.EquipmentAttachment.FileId,
                            FileSize = c.EquipmentAttachment.FileSize,
                            FileType = c.EquipmentAttachment.FileType
                        };
                        issueDetailsViewM.EquipmentAttachmentViewModels.Add(equipmentAttachment);
                    });
                }


                return(issueDetailsViewM);
            }
            catch (Exception ex)
            {
                throw new ExperienceManagementGlobalException(IssueServiceErrors.AddIssueDetailError, ex);
            }
        }