Exemple #1
0
        public ActionResult CreateRequest(DirectPurchaseRequest model)
        {
            if (!ModelState.IsValid)
            {
                FillSO();
                FillJC();
                GetMaterials();
                return(View("Create", model));
            }

            FillSO();
            FillJC();
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();
            string referenceNo = new DirectPurchaseRepository().InsertDirectPurchaseRequest(model);

            if (referenceNo != "")

            //if (new DirectPurchaseRepository().InsertDirectPurchaseRequest(model) > 0)
            {
                TempData["success"] = "Saved successfully. Reference No. is " + referenceNo;
                TempData["error"]   = "";
                return(RedirectToAction("CreateRequest"));
            }
            else
            {
                GetMaterials();
                TempData["success"] = "";
                TempData["error"]   = "Some error occured. Please try again.";
                return(View("Create", model));
            }
        }
 public string InsertPurchaseIndent(DirectPurchaseRequest model)
 {
     using (IDbConnection connection = OpenConnection(dataConnection))
     {
         IDbTransaction txn = connection.BeginTransaction();
         try
         {
             model.PurchaseRequestNo = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 36, true, txn);
             string sql = @"insert  into PurchaseRequest
                         (PurchaseRequestNo,PurchaseRequestDate,SpecialRemarks,RequiredDate,CreatedBy,CreatedDate,OrganizationId) Values (@PurchaseRequestNo,@PurchaseRequestDate,@SpecialRemarks,@RequiredDate,@CreatedBy,@CreatedDate,@OrganizationId);
             SELECT CAST(SCOPE_IDENTITY() as int)";
             var    id  = connection.Query <int>(sql, model, txn).FirstOrDefault();
             foreach (DirectPurchaseRequestItem item in model.items)
             {
                 item.DirectPurchaseRequestId = id;
                 if (item.Quantity == null || item.Quantity == 0)
                 {
                     continue;
                 }
                 new DirectPurchaseItemRepository().InsertPurchaseIndentItem(item, connection, txn);
             }
             InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "Purchase Request", id.ToString(), "0");
             txn.Commit();
             return(model.PurchaseRequestNo);
         }
         catch (Exception)
         {
             txn.Rollback();
             throw;
         }
     }
 }
 public int UpdatePurchaseIndent(DirectPurchaseRequest model)
 {
     using (IDbConnection connection = OpenConnection(dataConnection))
     {
         IDbTransaction txn = connection.BeginTransaction();
         try
         {
             string query = @"UPDATE PurchaseRequest SET
                         PurchaseRequestDate = @PurchaseRequestDate,
                         SpecialRemarks = @SpecialRemarks,
                         RequiredDate = @RequiredDate,
                         CreatedBy = @CreatedBy,
                         CreatedDate = @CreatedDate
                         WHERE PurchaseRequestId = @DirectPurchaseRequestId";
             int    id    = connection.Execute(query, model, txn);
             if (id <= 0)
             {
                 throw new Exception();
             }
             id = new DirectPurchaseItemRepository().UpdatePurchaseIndentItem(model, connection, txn);
             if (id <= 0)
             {
                 throw new Exception();
             }
             txn.Commit();
             return(id);
         }
         catch (Exception)
         {
             txn.Rollback();
             throw;
         }
     }
 }
Exemple #4
0
        public ActionResult Edit(DirectPurchaseRequest model)
        {
            ViewBag.Title        = "Edit";
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();

            FillSO();
            FillJC();
            GetMaterials();

            var repo = new DirectPurchaseRepository();

            var result1 = new DirectPurchaseRepository().CHECK(model.DirectPurchaseRequestId);

            if (result1 > 0)
            {
                TempData["error"]             = "Sorry!!..Already Used!!";
                TempData["PurchaseRequestNo"] = null;
                return(View("Edit", model));
            }

            else
            {
                try
                {
                    var    result2 = new DirectPurchaseRepository().DeleteDirectPurchaseDT(model.DirectPurchaseRequestId);
                    var    result3 = new DirectPurchaseRepository().DeleteDirectPurchaseHD(model.DirectPurchaseRequestId, UserID.ToString());
                    string id      = new DirectPurchaseRepository().InsertDirectPurchaseRequest(model);

                    TempData["success"] = "Updated successfully. Direct Purchase Request Reference No. is " + id;
                    TempData["error"]   = "";
                    return(RedirectToAction("Index"));
                }
                catch (SqlException sx)
                {
                    TempData["error"] = "Some error occured while connecting to database. Please check your network connection and try again.|" + sx.Message;
                }
                catch (NullReferenceException nx)
                {
                    TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
                }
                catch (Exception ex)
                {
                    TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
                }
                return(RedirectToAction("CreateRequest"));
            }
        }
Exemple #5
0
        public ActionResult ExportToExcel()
        {
            DirectPurchaseRequest model = (DirectPurchaseRequest)Session["purchaseIndent"];

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("<Table border={0}1{0}>", (Char)34);

            sb.AppendFormat("<td style={0}font-weight:bold;{0}>Material/Spares</td>", (Char)34);
            sb.AppendFormat("<td style={0}font-weight:bold;{0}>Part No</td>", (Char)34);
            sb.AppendFormat("<td style={0}font-weight:bold;{0}>Remarks</td>", (Char)34);
            sb.AppendFormat("<td style={0}font-weight:bold;{0}>Qty</td>", (Char)34);
            sb.AppendFormat("<td style={0}font-weight:bold;{0}>UoM</td>", (Char)34);;

            sb.Append("</tr>");

            foreach (var item in model.items)
            {
                sb.Append("<tr>");

                sb.AppendFormat("<td>{1}</td>", (Char)34, item.ItemName);
                sb.AppendFormat("<td>{1}</td>", (Char)34, item.PartNo);
                sb.AppendFormat("<td>{1}</td>", (Char)34, item.Remarks);
                sb.AppendFormat("<td>{1}</td>", (Char)34, item.Quantity);
                sb.AppendFormat("<td>{1}</td>", (Char)34, item.UoM);

                sb.Append("</tr>");
            }

            sb.Append("</Table>");
            string ExcelFileName;

            ExcelFileName = "PurchaseIndent.xls";
            Response.Clear();
            Response.Charset     = "";
            Response.ContentType = "application/excel";
            Response.AddHeader("Content-Disposition", "filename=" + ExcelFileName);
            Response.Write(sb);
            Response.End();
            Response.Flush();
            return(View());
        }
Exemple #6
0
        public ActionResult Edit(int id = 0)
        {
            try
            {
                if (id != 0)
                {
                    FillSO();
                    FillJC();
                    GetMaterials();
                    FillPartNo();
                    DirectPurchaseRequest DirectPurchaseRequest = new DirectPurchaseRequest();
                    DirectPurchaseRequest       = new DirectPurchaseRepository().GetDirectPurchaseRequest(id);
                    DirectPurchaseRequest.items = new DirectPurchaseRepository().GetDirectPurchaseRequestItems(id);

                    return(View(DirectPurchaseRequest));
                }
                else
                {
                    TempData["error"]   = "That was an invalid/unknown request. Please try again.";
                    TempData["success"] = "";
                }
            }
            catch (InvalidOperationException iox)
            {
                TempData["error"] = "Sorry, we could not find the requested item. Please try again.|" + iox.Message;
            }
            catch (SqlException sx)
            {
                TempData["error"] = "Some error occured while connecting to database. Please try again after sometime.|" + sx.Message;
            }
            catch (NullReferenceException nx)
            {
                TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
            }

            TempData["success"] = "";
            return(RedirectToAction("CreateRequest"));
        }
        public DirectPurchaseRequest GetPurchaseIndent(int id, int organizationId)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction txn = connection.BeginTransaction();
                //the model used for Purchase Indent is DirectPurchaseRequest
                string query = @"SELECT
	                                PurchaseRequestId DirectPurchaseRequestId, *
                                FROM PurchaseRequest
                                WHERE PurchaseRequestId = @id
                                AND OrganizationId = @org";
                DirectPurchaseRequest model = connection.Query <DirectPurchaseRequest>(query, new { org = organizationId, @id = id }, txn).FirstOrDefault();
                string sql = @"SELECT
	                                PRI.PurchaseRequestItemId DirectPurchaseRequestItemId, PRI.*,I.ItemName,I.PartNo,
									U.UnitName UoM
                                FROM PurchaseRequestItem PRI
								INNER JOIN Item I ON PRI.ItemId = I.ItemId
								INNER JOIN Unit U ON I.ItemUnitId = U.UnitId
                                WHERE PurchaseRequestId = @id";
                model.items = connection.Query <DirectPurchaseRequestItem>(sql, new { id = id }, txn).ToList();

                #region checking isUsed
                try
                {
                    sql = @" DELETE FROM PurchaseRequestItem WHERE PurchaseRequestId=@Id;
                             DELETE FROM PurchaseRequest OUTPUT deleted.PurchaseRequestNo WHERE PurchaseRequestId = @Id;";

                    string output = connection.Query <string>(sql, new { Id = id }, txn).First();
                    txn.Rollback();
                    model.isUsed = false;
                }
                catch (Exception ex)
                {
                    model.isUsed = true;
                    txn.Rollback();
                }
                #endregion

                return(model);
            }
        }
Exemple #8
0
 internal int UpdatePurchaseIndentItem(DirectPurchaseRequest model, IDbConnection connection, IDbTransaction txn)
 {
     try
     {
         string sql = @"DELETE FROM PurchaseRequestItem WHERE PurchaseRequestId = @id";
         var    id  = connection.Execute(sql, new { id = model.DirectPurchaseRequestId }, txn);
         if (id <= 0)
         {
             throw new Exception();
         }
         foreach (var item in model.items)
         {
             item.DirectPurchaseRequestId = model.DirectPurchaseRequestId;
             InsertPurchaseIndentItem(item, connection, txn);
         }
         return(id);
     }
     catch (Exception)
     {
         return(0);
     }
 }
Exemple #9
0
 public ActionResult EditPurchaseIndent(DirectPurchaseRequest model)
 {
     try
     {
         model.CreatedBy   = UserID.ToString();
         model.CreatedDate = DateTime.Today;
         var success = new DirectPurchaseRepository().UpdatePurchaseIndent(model);
         if (success <= 0)
         {
             throw new Exception();
         }
         TempData["success"] = "Updated successfully (" + model.PurchaseRequestNo + ")";
         return(RedirectToAction("PurchaseIndents"));
     }
     catch (Exception)
     {
         TempData["error"] = "Some error occured while saving. Please try again.";
         FillPartNo();
         GetMaterials();
         return(View("PurchaseIndent", model));
     }
 }
Exemple #10
0
 public ActionResult PurchaseIndent(DirectPurchaseRequest model)
 {
     try
     {
         model.CreatedBy      = UserID.ToString();
         model.OrganizationId = OrganizationId;
         model.CreatedDate    = DateTime.Today;
         string ref_no = new DirectPurchaseRepository().InsertPurchaseIndent(model);
         if (ref_no.Length > 0)
         {
             TempData["success"] = "Saved Successfully. Reference No. is " + model.PurchaseRequestNo;
             return(RedirectToAction("PurchaseIndent"));
         }
         else
         {
             throw new Exception();
         }
     }
     catch (Exception)
     {
         TempData["error"] = "Some error occurred while saving. Please try again.";
         return(View(model));
     }
 }
        public string InsertDirectPurchaseRequest(DirectPurchaseRequest model)
        {
            int id = 0;

            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction txn = connection.BeginTransaction();
                try
                {
                    var internalId = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 10, true, txn);
                    model.PurchaseRequestNo = internalId;


                    if (model.SoOrJc == "JC")
                    {
                        model.SaleOrderId = null;
                    }
                    else if (model.SoOrJc == "SO")
                    {
                        model.JobCardId = null;
                    }
                    else
                    {
                        model.isStockOrder = true;
                    }
                    model.TotalAmount = model.items.Sum(m => (m.Quantity * m.Rate));
                    string sql = @"INSERT INTO DirectPurchaseRequest
                                (
	                                [PurchaseRequestNo],
	                                [PurchaseRequestDate],
	                                [SpecialRemarks],
	                                [RequiredDate],
	                                [TotalAmount],
	                                [CreatedBy],
	                                [CreatedDate],
	                                [OrganizationId],
	                                [isActive],
	                                [isApproved],
                                    [SaleOrderId],
                                    [JobCardId],
                                    [isStockOrder]
                                )
                                VALUES
                                (
	                                @PurchaseRequestNo,
                                    @PurchaseRequestDate,
                                    @SpecialRemarks,
                                    @RequiredDate,
                                    @TotalAmount,
                                    @CreatedBy,
                                    @CreatedDate,
                                    @OrganizationId,
                                    1,
                                    0,
                                    @SaleOrderId,
                                    @JobCardId,
                                    @isStockOrder
                                )
                            SELECT CAST(SCOPE_IDENTITY() AS INT)";
                    id = connection.Query <int>(sql, model, txn).Single <int>();

                    var supplyorderitemrepo = new DirectPurchaseItemRepository();
                    foreach (var item in model.items)
                    {
                        item.DirectPurchaseRequestId = id;
                        new DirectPurchaseItemRepository().InsertDirectPurchaseRequestItem(item, connection, txn);
                    }
                    InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "Direct Purchase", id.ToString(), "0");
                    txn.Commit();
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message);
                    txn.Rollback();
                    throw;
                }
                return(model.PurchaseRequestNo);
            }
        }