public MVCQutationModel GetQutationById(int QutationId)
        {
            HttpResponseMessage responseQutation = GlobalVeriables.WebApiClient.GetAsync("APIQutation/" + QutationId.ToString()).Result;
            MVCQutationModel    QutationModel    = responseQutation.Content.ReadAsAsync <MVCQutationModel>().Result;

            return(QutationModel);
        }
Ejemplo n.º 2
0
        public IHttpActionResult GetQutationTable(int id)
        {
            MVCQutationModel qutationmodel = new MVCQutationModel();

            qutationmodel = db.QutationTables.Where(q => q.QutationID == id).Select(c => new MVCQutationModel
            {
                QutationID     = c.QutationID,
                Qutation_ID    = c.Qutation_ID,
                RefNumber      = c.RefNumber,
                QutationDate   = c.QutationDate,
                DueDate        = c.DueDate,
                SubTotal       = c.SubTotal,
                TotalVat6      = c.TotalVat6,
                TotalVat21     = c.TotalVat21,
                DiscountAmount = c.DiscountAmount,
                TotalAmount    = c.TotalAmount,
                CustomerNote   = c.CustomerNote,
                Status         = c.Status,
                UserId         = c.UserId,
                CompanyId      = c.CompanyId,
                ContactId      = c.ContactId,
                Type           = c.Type,
            }).FirstOrDefault();


            if (qutationmodel == null)
            {
                return(NotFound());
            }

            return(Ok(qutationmodel));
        }
        public JsonResult UpdateOrderStaus(int QutationId, string Status, string Type)
        {
            List <MVCQutationViewModel> _QuatationModel          = new List <MVCQutationViewModel>();
            QutationOrderStatusTable    orderstatusModel         = new QutationOrderStatusTable();
            List <MVCQutationViewModel> _QutationList            = new List <MVCQutationViewModel>();
            MVCQutationViewModel        _mvcQuatationViewModel23 = new MVCQutationViewModel();

            try
            {
                HttpResponseMessage res           = GlobalVeriables.WebApiClient.GetAsync("APIQutation/" + QutationId.ToString()).Result;
                MVCQutationModel    qutationModel = res.Content.ReadAsAsync <MVCQutationModel>().Result;
                qutationModel.Status = Status;

                if (qutationModel == null)
                {
                    return(new JsonResult {
                        Data = new { Status = "Fail", Message = "No record Found" }
                    });
                }

                HttpResponseMessage response = GlobalVeriables.WebApiClient.PutAsJsonAsync("APIQutation/" + QutationId, qutationModel).Result;

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    GlobalVeriables.WebApiClient.DefaultRequestHeaders.Clear();
                    if (qutationModel != null)
                    {
                        orderstatusModel.Fk_QutationID = qutationModel.QutationID;
                        orderstatusModel.Status        = Status;
                        orderstatusModel.CreateDate    = DateTime.Now;
                        orderstatusModel.CompanyId     = Convert.ToInt32(Session["CompayID"]);
                        orderstatusModel.UserId        = 1;
                        orderstatusModel.Type          = "Qutation";
                        HttpResponseMessage response2 = GlobalVeriables.WebApiClient.PostAsJsonAsync("postOrderStatus", orderstatusModel).Result;

                        if (response2.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            return(new JsonResult {
                                Data = new { Status = "Success", Message = "Status is change successfully" }
                            });
                        }
                        else
                        {
                            return(new JsonResult {
                                Data = new { Status = "Fail", Message = "Fail to change status" }
                            });
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(new JsonResult {
                    Data = new { Status = "Fail", ex.Message }
                });
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public bool AddTransaction(MVCQutationModel quatationModel)
        {
            bool result = false;

            try
            {
                TransactionModel model = new TransactionModel();
                model.CompanyId    = (int)quatationModel.CompanyId;
                model.AccountTitle = "Accounts receivable";
                int AccountId = CommonController.GetAcccountId(model);
                if (AccountId > 0)
                {
                    AccountTransictionTable _TransactionTable = new AccountTransictionTable();
                    _TransactionTable.FK_AccountID          = AccountId;
                    _TransactionTable.Dr                    = quatationModel.SubTotal;
                    _TransactionTable.Cr                    = 0;
                    _TransactionTable.TransictionNumber     = Guid.NewGuid().ToString();
                    _TransactionTable.TransictionRefrenceId = quatationModel.QutationID.ToString();
                    _TransactionTable.CreationTime          = DateTime.Now.TimeOfDay;
                    _TransactionTable.AddedBy               = Convert.ToInt32(Session["LoginUserID"]);
                    _TransactionTable.FK_CompanyId          = quatationModel.CompanyId;
                    _TransactionTable.TransictionType       = "Dr";
                    _TransactionTable.FKPaymentTerm         = null;
                    _TransactionTable.TransictionDate       = DateTime.Now;
                    _TransactionTable.Description           = "invoice Creating Time Transaction";

                    if (TransactionClass.PerformTransaction(_TransactionTable))
                    {
                        result             = true;
                        model.AccountTitle = "Input VAT";
                        int AccountId1 = CommonController.GetAcccountId(model);
                        _TransactionTable.FK_AccountID = AccountId1;
                        _TransactionTable.Dr           = quatationModel.TotalVat21 + quatationModel.TotalVat6;

                        if (TransactionClass.PerformTransaction(_TransactionTable))
                        {
                            result             = true;
                            model.AccountTitle = "Cash on hand";
                            int AccountId12 = CommonController.GetAcccountId(model);
                            _TransactionTable.FK_AccountID    = AccountId12;
                            _TransactionTable.Cr              = quatationModel.TotalAmount;
                            _TransactionTable.Dr              = 0;
                            _TransactionTable.TransictionType = "Cr";
                            if (TransactionClass.PerformTransaction(_TransactionTable))
                            {
                                result = true;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(result);
        }
        public ActionResult AddPending(PendingModel pendingModel)
        {
            try
            {
                HttpResponseMessage res          = GlobalVeriables.WebApiClient.GetAsync("APIQutation/" + pendingModel.Purchase_QuataionId.ToString()).Result;
                MVCQutationModel    puchasemodel = res.Content.ReadAsAsync <MVCQutationModel>().Result;
                puchasemodel.Status = pendingModel.Status;

                if (puchasemodel == null)
                {
                    return(new JsonResult {
                        Data = new { Status = "Fail", Message = "No record Found" }
                    });
                }
                HttpResponseMessage response = GlobalVeriables.WebApiClient.PutAsJsonAsync("APIQutation/" + pendingModel.Purchase_QuataionId, puchasemodel).Result;

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    PendingTable pending = new PendingTable();
                    pending.Purchase_QuataionId = pendingModel.Purchase_QuataionId;
                    pending.FromDate            = pendingModel.FromDate;
                    pending.ToDate      = pendingModel.ToDate;
                    pending.Description = pendingModel.Description;
                    pending.Status      = pendingModel.Status;
                    HttpResponseMessage postPendintTableResponse = GlobalVeriables.WebApiClient.PostAsJsonAsync("Addpending", pending).Result;

                    if (postPendintTableResponse.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        return(new JsonResult {
                            Data = new { Status = "Success", Message = "Status is change successfully to pending" }
                        });
                    }
                }
                else
                {
                    return(new JsonResult {
                        Data = new { Status = "Fail", Message = "Fail to update status in purchase" }
                    });
                }
            }
            catch (Exception ex)
            {
                return(new JsonResult {
                    Data = new { Status = "Fail", Message = ex.Message }
                });
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public IHttpActionResult GetQutationCount()
        {
            MVCQutationModel q = new MVCQutationModel();

            int quataionId = db.QutationTables.ToList().Count() + 1;

            q.Qutation_ID = quataionId.ToString();

            if (quataionId == 0)
            {
                return(Ok(q));
            }
            else
            {
                return(Ok(q));
            }
        }
        public bool Transaction(MVCQutationModel quatationModel, string TransType)
        {
            bool result = false;

            try
            {
                if (TransType == "Add")
                {
                    if (AddTransaction(quatationModel))
                    {
                        return(result = true);
                    }
                    else
                    {
                        return(result = false);
                    }
                }

                else
                {
                    if (CommonController.DeleteFromTransactionTableByRefrenceId((int)quatationModel.QutationID))
                    {
                        if (AddTransaction(quatationModel))
                        {
                            return(result = true);
                        }
                        else
                        {
                            return(result = false);
                        }
                    }
                }
            }
            catch (Exception)
            {
                result = false;
                throw;
            }
            return(result);
        }
Ejemplo n.º 8
0
        public ActionResult ExpenseByEmail(EmailModel email, string[] Files, FormCollection formCollection)
        {
            var root = Server.MapPath("/PDF/");

            List <AttakmentList> _attackmentList = new List <AttakmentList>();
            var allowedExtensions = new string[] { "doc", "docx", "pdf", ".jpg", "png", "JPEG", "JFIF", "PNG" };

            if (email.SelectList != null)
            {
                foreach (var item in email.SelectList)
                {
                    if (item.IsSelected)
                    {
                        if (item.Directory.EndsWith("doc") || item.Directory.EndsWith("pdf") || item.Directory.EndsWith("docx") || item.Directory.EndsWith("jpg") || item.Directory.EndsWith("png") || item.Directory.EndsWith("txt"))
                        {
                            if (System.IO.File.Exists(Server.MapPath(item.Directory)))
                            {
                                _attackmentList.Add(new AttakmentList {
                                    Attckment = Server.MapPath(item.Directory)
                                });
                            }

                            var filwe = Server.MapPath("/PDF/" + item.FileName);

                            if (System.IO.File.Exists(filwe))
                            {
                                _attackmentList.Add(new AttakmentList {
                                    Attckment = filwe
                                });
                            }
                        }
                    }
                }
            }


            if (Request.Form["FileName"] != null)
            {
                var      fileName2  = Request.Form["FileName"];
                string[] valueArray = fileName2.Split(',');

                foreach (var item in valueArray)
                {
                    if (item.EndsWith("doc") || item.EndsWith("pdf") || item.EndsWith("docx") || item.EndsWith("jpg") || item.EndsWith("png") || item.EndsWith("txt"))
                    {
                        var filwe = Server.MapPath("/PDF/" + item);
                        if (System.IO.File.Exists(filwe))
                        {
                            _attackmentList.Add(new AttakmentList {
                                Attckment = filwe
                            });
                        }
                    }
                }
            }


            TempData["EmailMessge"] = "";
            EmailModel emailModel = new EmailModel();


            var fileName = email.Attachment;

            try
            {
                if (email.Attachment.Contains(".pdf"))
                {
                    email.Attachment = email.Attachment.Replace(".pdf", "");
                }
                if (email.ToEmail.Contains(','))
                {
                    var p = email.Attachment.Split('.');

                    var pdfname = String.Format("{0}.pdf", p);
                    var path    = Path.Combine(root, pdfname);
                    email.Attachment = path;
                    _attackmentList.Add(new AttakmentList {
                        Attckment = email.Attachment
                    });
                    string[] EmailArray = email.ToEmail.Split(',');
                    if (EmailArray.Count() > 0)
                    {
                        foreach (var item in EmailArray)
                        {
                            emailModel.From       = email.From;
                            emailModel.ToEmail    = item;
                            emailModel.Attachment = email.Attachment;
                            emailModel.EmailBody  = email.EmailText;
                            bool result = EmailController.email(emailModel, _attackmentList);
                        }
                    }
                }
                else
                {
                    var pdfname = String.Format("{0}.pdf", email.Attachment);
                    var path    = Path.Combine(root, pdfname);
                    email.Attachment      = path;
                    emailModel.From       = email.From;
                    emailModel.ToEmail    = email.ToEmail;
                    emailModel.Attachment = email.Attachment;
                    emailModel.EmailBody  = email.EmailText;
                    _attackmentList.Add(new AttakmentList {
                        Attckment = emailModel.Attachment
                    });
                    bool result = EmailController.email(emailModel, _attackmentList);
                    TempData["EmailMessge"] = "Email Send successfully";
                }

                HttpResponseMessage res = GlobalVeriables.WebApiClient.GetAsync("APIQutation/" + email.invoiceId.ToString()).Result;
                MVCQutationModel    ob  = res.Content.ReadAsAsync <MVCQutationModel>().Result;

                var folderPath = Server.MapPath("/PDF/");
                EmailController.clearFolder(folderPath);
                return(RedirectToAction("ViewExpense", new { Id = email.invoiceId }));
            }
            catch (Exception ex)
            {
                TempData["EmailMessge"] = ex.Message.ToString();
                TempData["Error"]       = ex.Message.ToString();
            }
            if (TempData["Path"] == null)
            {
                TempData["Path"] = fileName;
            }

            TempData["Message"] = "Email Send Succssfully";
            email.Attachment    = fileName;

            return(View(email));
        }
        public JsonResult Proceeds(int QutationId, string Status, string Type)
        {
            HttpResponseMessage responsses = new HttpResponseMessage();

            MVCQutationModel            QutationModel        = new MVCQutationModel();
            List <MVCQutationViewModel> _QuatationDetailList = new List <MVCQutationViewModel>();

            InvoiceTable    InvoiceTable    = new InvoiceTable();
            MVCInvoiceModel mvcInvoiceModel = new MVCInvoiceModel();

            try
            {
                QutationModel        = GetQutationById(QutationId);
                _QuatationDetailList = GetQuatationDetailListById(QutationId);
                if (QutationModel != null)
                {
                    mvcInvoiceModel.Invoice_ID     = QutationModel.Qutation_ID;
                    mvcInvoiceModel.QutationId     = QutationModel.QutationID;
                    mvcInvoiceModel.CompanyId      = QutationModel.CompanyId;
                    mvcInvoiceModel.UserId         = Convert.ToInt32(Session["LoginUserID"]);
                    mvcInvoiceModel.ContactId      = QutationModel.ContactId;
                    mvcInvoiceModel.InvoiceID      = 0;
                    mvcInvoiceModel.RefNumber      = QutationModel.RefNumber;
                    mvcInvoiceModel.InvoiceDate    = QutationModel.QutationDate;
                    mvcInvoiceModel.InvoiceDueDate = QutationModel.DueDate;
                    mvcInvoiceModel.SubTotal       = QutationModel.SubTotal;
                    mvcInvoiceModel.DiscountAmount = QutationModel.DiscountAmount;
                    mvcInvoiceModel.TotalAmount    = QutationModel.TotalAmount;
                    mvcInvoiceModel.CustomerNote   = QutationModel.CustomerNote;
                    mvcInvoiceModel.TotalVat21     = QutationModel.TotalVat21;
                    mvcInvoiceModel.TotalVat6      = QutationModel.TotalVat6;
                    mvcInvoiceModel.Type           = StatusEnum.Goods.ToString();
                    mvcInvoiceModel.Status         = "accepted";
                    HttpResponseMessage InvoiceResponse = GlobalVeriables.WebApiClient.PostAsJsonAsync("PostInvoice", mvcInvoiceModel).Result;
                    InvoiceTable = InvoiceResponse.Content.ReadAsAsync <InvoiceTable>().Result;

                    if (InvoiceResponse.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        if (_QuatationDetailList != null)
                        {
                            foreach (var item in _QuatationDetailList)
                            {
                                InvoiceDetailsTable InvoiceDetails = new InvoiceDetailsTable();
                                InvoiceDetails.ItemId      = Convert.ToInt32(item.ItemId);
                                InvoiceDetails.InvoiceId   = InvoiceTable.InvoiceID;
                                InvoiceDetails.Description = item.Description;
                                InvoiceDetails.Quantity    = item.Quantity;
                                InvoiceDetails.Rate        = Convert.ToDouble(item.Rate);
                                InvoiceDetails.Total       = Convert.ToDouble(item.Total);
                                InvoiceDetails.ServiceDate = item.ServiceDate;
                                InvoiceDetails.RowSubTotal = item.RowSubTotal;
                                InvoiceDetails.Vat         = Convert.ToDouble(item.Vat);
                                InvoiceDetails.Type        = item.Type;
                                responsses = GlobalVeriables.WebApiClient.PostAsJsonAsync("PostinvoiceDetails", InvoiceDetails).Result;

                                if (responsses.StatusCode != System.Net.HttpStatusCode.OK)
                                {
                                    return(new JsonResult {
                                        Data = new { Status = "Fail", Message = "Fail to Proceed" }
                                    });
                                }
                            }

                            if (UpdateQuatationStation(QutationId))
                            {
                                if (Transaction(QutationModel, "Add"))
                                {
                                    return(new JsonResult {
                                        Data = new { Status = "Success", Message = "Proceed successfullly" }
                                    });
                                }
                            }
                        }
                    }
                    else
                    {
                        return(new JsonResult {
                            Data = new { Status = "Fail", Message = "Fail Proceed successfullly" }
                        });
                    }
                }
            }

            catch (Exception)
            {
                throw;
            }

            return(new JsonResult {
                Data = new { Status = "Success", Message = "Proceed successfullly" }
            });
        }