public JsonResult RequestACLApproval(string quoteQN, string quoteID, string requestReason, ComponentCreateDTO modal)
        {
            ComponentCreateDTO result = null;
            var requestUser           = User.Identity.Name;

            var    emailDTO        = new { compDTO = modal, requestUser = requestUser, quoteQN = quoteQN, quoteID = quoteID, requestReason = requestReason };
            string aclApproverList = GetUsersInRole("9");

            try
            {
                try
                {
                    var email   = new EmailController();
                    var message = new EmailModels();
                    message.To      = aclApproverList;
                    message.Subject = string.Format("ACL Approval Request Component {0}", modal.id);
                    Task.Run(() => email.Send(message, null, emailDTO, "componentACLApprovalRequest.html"));
                }
                catch (Exception ex)
                {
                    _logger.Error(string.Format("Email Send Error: {0}", ex.ToString()));
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                result = null;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult RequestNewItem(ComponentCreateDTO dto)
        {
            ComponentCreateDTO result = null;

            try
            {
                var entity = Mapper.Map <tbl_comp>(dto);

                if (entity != null)
                {
                    entity.comp_temp_item  = true;
                    entity.tbl_vend        = null;
                    entity.tbl_X_ref       = null;
                    entity.tbl_X_ref_equiv = null;
                    entity.tbl_X_trait     = null;
                    entity.tbl_X_material  = null;
                    entity.tbl_X_spclty    = null;
                    entity.tbl_lbl         = null;
                    entity.tbl_pix         = null;

                    UnitOfWork.TblComp.Add(entity);
                    UnitOfWork.Save();

                    if (dto.tbl_purch == null || dto.tbl_purch.Count == 0)
                    {
                        var purchase = new tbl_purch();
                        purchase.purch_comp_id     = entity.id;
                        purchase.purch_date_create = DateTime.Now;
                        var usd = UnitOfWork.TblCurrency.Find(t => t.currncy_code == "USD").FirstOrDefault();
                        if (usd != null)
                        {
                            purchase.purch_currncy_id = usd.id;
                        }
                        UnitOfWork.TblPurchase.Add(purchase);
                        UnitOfWork.Save();
                    }

                    result = Mapper.Map <ComponentCreateDTO>(UnitOfWork.TblComp.Get(entity.id));
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                result = null;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }