public bool UpdatePurchaseRequestItem(List <PurchaseRequestDetail> prdlist) { DateTime dateTime = DateTime.UtcNow.Date; DateTimeOffset dt = new DateTimeOffset(dateTime, TimeSpan.Zero).ToUniversalTime(); long date = dt.ToUnixTimeMilliseconds(); List <PurchaseRequestDetail> updatedprlist = new List <PurchaseRequestDetail>(); foreach (PurchaseRequestDetail prd in prdlist) { prd.SubmitDate = date; PurchaseRequestDetail pr = purreqrepo.UpdatePurchaseRequestItem(prd); updatedprlist.Add(pr); } string prdstatus = prdlist[0].Status; if (prdstatus == Status.PurchaseRequestStatus.pendapprov) { Employee supervisor = erepo.FindEmpById((int)updatedprlist[0].CreatedByClerk.ManagerId); EmailModel email = new EmailModel(); Task.Run(async() => { EmailTemplates.UpdatePRStatusTemplate ctt = new EmailTemplates.UpdatePRStatusTemplate(updatedprlist, supervisor); email.emailTo = supervisor.Email; email.emailSubject = ctt.subject; email.emailBody = ctt.body; await mailservice.SendEmailAsync(email); }); } return(true); }
protected void ddlMaintenanceReq_SelectedIndexChanged(object sender, EventArgs e) { MaintenanceRequest maintenance = null; dgPurchaseRequestDetail.DataSource = null; if (_presenter.GetMaintenanceRequestById(Convert.ToInt32(ddlMaintenanceReq.SelectedValue)) != null) { maintenance = _presenter.GetMaintenanceRequestById(Convert.ToInt32(ddlMaintenanceReq.SelectedValue)); } foreach (MaintenanceSparePart msp in maintenance.MaintenanceSpareParts) { PurchaseRequestDetail prd = new PurchaseRequestDetail(); prd.Item = msp.Item; prd.ItemDescription = msp.Item.Name; prd.Project = msp.MaintenanceRequest.Project; prd.Grant = msp.MaintenanceRequest.Grant; _presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Add(prd); } lblMainReq.Visible = true; ddlMaintenanceReq.Visible = true; dgPurchaseRequestDetail.DataSource = _presenter.CurrentPurchaseRequest.PurchaseRequestDetails; dgPurchaseRequestDetail.DataBind(); }
private void BindPurchaseRequestStatus() { foreach (BidAnalysisRequestStatus PRS in _presenter.CurrentBidAnalysisRequest.BidAnalysisRequestStatuses) { if (PRS.WorkflowLevel == _presenter.CurrentBidAnalysisRequest.CurrentLevel && PRS.WorkflowLevel == _presenter.CurrentBidAnalysisRequest.CurrentLevel) { ddlApprovalStatus.SelectedValue = PRS.ApprovalStatus; txtRejectedReason.Text = PRS.RejectedReason; if (_presenter.CurrentBidAnalysisRequest.ProgressStatus == ProgressStatus.Completed.ToString()) { btnApprove.Enabled = false; btnPrint0.Enabled = true; } else { btnApprove.Enabled = true; } } if (_presenter.CurrentBidAnalysisRequest.CurrentLevel == _presenter.CurrentBidAnalysisRequest.BidAnalysisRequestStatuses.Count && (PRS.ApprovalStatus != null) && _presenter.CurrentBidAnalysisRequest.ProgressStatus == ProgressStatus.Completed.ToString()) { btnPurchaseOrder.Enabled = true; foreach (BidderItemDetail detail in _presenter.CurrentBidAnalysisRequest.GetBidderItemDetailByPRDetailId()) { PurchaseRequestDetail PD = _presenter.GetPurchaseRequestbyPuID(detail.PRDetailId); PD.BidAnalysisRequestStatus = "Completed"; } } } }
protected void btnCreateStoreItem_Click(object sender, EventArgs e) { _presenter.CurrentStoreRequest.StoreRequestDetails.Clear(); foreach (GridViewRow item in grvDetails.Rows) { int prId = (int)grvDetails.DataKeys[item.RowIndex].Value; if (item.RowType == DataControlRowType.DataRow) { CheckBox chk = (CheckBox)item.FindControl("chkSelect"); if (chk.Checked) { if (_presenter.GetPurchaseRequestDetail(prId) != null) { PurchaseRequestDetail prd = _presenter.GetPurchaseRequestDetail(prId); StoreRequestDetail srd = new StoreRequestDetail(); srd.Item = prd.Item; srd.Project = prd.Project; srd.Grant = prd.Grant; _presenter.CurrentStoreRequest.StoreRequestDetails.Add(srd); } } } } dgStoreRequestDetail.DataSource = _presenter.CurrentStoreRequest.StoreRequestDetails; dgStoreRequestDetail.DataBind(); }
protected void dgPurchaseRequestDetail_ItemCommand(object source, DataGridCommandEventArgs e) { if (e.CommandName == "AddNew") { try { PurchaseRequestDetail Detail = new PurchaseRequestDetail(); DropDownList ddlFAccount = e.Item.FindControl("ddlFAccount") as DropDownList; Detail.ItemAccount = _presenter.GetItemAccount(int.Parse(ddlFAccount.SelectedValue)); TextBox txtFAccountCode = e.Item.FindControl("txtFAccountCode") as TextBox; Detail.AccountCode = txtFAccountCode.Text; TextBox txtFItem = e.Item.FindControl("txtFItem") as TextBox; Detail.Item = txtFItem.Text; TextBox txtFQty = e.Item.FindControl("txtFQty") as TextBox; Detail.Qty = Convert.ToInt32(txtFQty.Text); Detail.ApprovedQuantity = Convert.ToInt32(txtFQty.Text); DropDownList ddlFPurposeOfPurchase = e.Item.FindControl("ddlFPurposeOfPurchase") as DropDownList; Detail.PurposeOfPurchase = ddlFPurposeOfPurchase.SelectedValue; DropDownList ddlFUnitOfMeasurment = e.Item.FindControl("ddlFUnitOfMeasurment") as DropDownList; Detail.UnitOfMeasurment = ddlFUnitOfMeasurment.SelectedValue; TextBox txtFRemark = e.Item.FindControl("txtFRemark") as TextBox; Detail.Remark = txtFRemark.Text; /*TextBox txtFPriceperunit = e.Item.FindControl("txtFPriceperunit") as TextBox; * Detail.Priceperunit = Convert.ToDecimal(txtFPriceperunit.Text); * Detail.EstimatedCost = Convert.ToInt32(txtFQty.Text) * Convert.ToDecimal(txtFPriceperunit.Text); * Determine total cost * decimal cost = 0; * if (_presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Count > 0) * { * * foreach (PurchaseRequestDetail detail in _presenter.CurrentPurchaseRequest.PurchaseRequestDetails) * { * cost = cost + detail.EstimatedCost; * } * } * _presenter.CurrentPurchaseRequest.TotalPrice = cost; * Determine total cost end * _presenter.CurrentPurchaseRequest.TotalPrice = _presenter.CurrentPurchaseRequest.TotalPrice + Detail.EstimatedCost; * txtTotal.Text = (_presenter.CurrentPurchaseRequest.TotalPrice).ToString();*/ DropDownList ddlFProject = e.Item.FindControl("ddlFProject") as DropDownList; Detail.Project = _presenter.GetProject(int.Parse(ddlFProject.SelectedValue)); DropDownList ddlFGrant = e.Item.FindControl("ddlFGrant") as DropDownList; Detail.Grant = _presenter.GetGrant(int.Parse(ddlFGrant.SelectedValue)); Detail.BidAnalysisRequestStatus = "InProgress"; Detail.PurchaseRequest = _presenter.CurrentPurchaseRequest; _presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Add(Detail); Master.ShowMessage(new AppMessage("Purchase Request Detail added successfully.", RMessageType.Info)); dgPurchaseRequestDetail.EditItemIndex = -1; BindPurchaseRequestDetails(); } catch (Exception ex) { Master.ShowMessage(new AppMessage("Error: Unable to Add Purchase Request Detail. " + ex.Message, RMessageType.Error)); ExceptionUtility.LogException(ex, ex.Source); ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName); } } }
protected void btnApprove_Click(object sender, EventArgs e) { try { if (_presenter.CurrentBidAnalysisRequest.ProgressStatus != ProgressStatus.Completed.ToString()) { foreach (BidderItemDetail detail in _presenter.CurrentBidAnalysisRequest.GetBidderItemDetailByPRDetailId()) { PurchaseRequestDetail PD = _presenter.GetPurchaseRequestbyPuID(detail.PRDetailId); SavePurchaseRequestStatus(); Session["PurchaseId"] = _presenter.CurrentBidAnalysisRequest.PurchaseRequest.Id; _presenter.SaveOrUpdateBidAnalysisRequest(_presenter.CurrentBidAnalysisRequest); //ShowPrint(); EnableControls(); if (ddlApprovalStatus.SelectedValue != "Rejected") { Master.ShowMessage(new AppMessage("Purchase Approval Processed ", Chai.WorkflowManagment.Enums.RMessageType.Info)); } else { Master.ShowMessage(new AppMessage("Purchase Approval Rejected ", Chai.WorkflowManagment.Enums.RMessageType.Info)); PD.BidAnalysisRequestStatus = "InProgress"; } btnApprove.Enabled = false; BindSearchPurchaseRequestGrid(); pnlApproval_ModalPopupExtender.Show(); } BindBidAnalysisRequestforprint(); btnApprove.Enabled = false; } } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", validationErrors.Entry.Entity.ToString(), validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException raise = new InvalidOperationException(message, raise); } } throw raise; } //} //catch (Exception ex) //{ // Master.ShowMessage(new AppMessage("There is an error approving Purchase Request", Chai.WorkflowManagment.Enums.RMessageType.Error)); //} }
private void deleteDetails(JObject value, PurchaseRequest obj) { try { #region delete details string detalclassname = "PurchaseRequestDetail"; bool isnew = false; int intkeyvalue = -1; JArray jarray = (JArray)value[detalclassname]; foreach (JObject Jdtl in jarray.Children()) { isnew = false; if (Jdtl.ContainsKey("Oid")) { if (Jdtl["Oid"] == null) { isnew = true; } else { if (int.TryParse(Jdtl["Oid"].ToString(), out intkeyvalue)) { if (intkeyvalue == -1) { isnew = true; } } } } else { isnew = true; } if (!isnew) { if (Jdtl.ContainsKey("IsBeingDelete")) { if (Jdtl["IsBeingDelete"].ToString() == "1" || Jdtl["IsBeingDelete"].ToString().ToUpper() == "TRUE") { PurchaseRequestDetail dtl = obj.PurchaseRequestDetail.Where(pp => pp.Oid == intkeyvalue).FirstOrDefault(); if (dtl != null) { dtl.Delete(); } //obj.PurchaseRequestDetail.Remove(dtl); } } } } #endregion } catch (Exception ex) { throw new Exception(ex.Message); } }
public bool DeleteCreatedPurchaseRequest(PurchaseRequestDetail prd) { PurchaseRequestDetail original = dbcontext.PurchaseRequestDetails.Where(m => m.Id == prd.Id).FirstOrDefault(); if (original != null) { dbcontext.PurchaseRequestDetails.Remove(original); } dbcontext.SaveChanges(); return(true); }
public PurchaseRequestUI() { InitializeComponent(); loPurchaseRequest = new PurchaseRequest(); loPurchaseRequestDetail = new PurchaseRequestDetail(); loCommon = new Common(); ldtPurchaseRequest = new System.Data.DataTable(); loPurchaseRequestRpt = new PurchaseRequestRpt(); loPurchaseRequestDetailRpt = new PurchaseRequestDetailRpt(); loReportViewer = new ReportViewerUI(); }
public PurchaseRequestDetailUI(string pPurchaseRequestId) { InitializeComponent(); lOperation = GlobalVariables.Operation.Edit; loPurchaseRequest = new PurchaseRequest(); loPurchaseRequestDetail = new PurchaseRequestDetail(); loSupplier = new Supplier(); loStock = new Stock(); loCommon = new Common(); //loStockReceivingDetailRpt = new StockReceivingDetailRpt(); loReportViewer = new ReportViewerUI(); lPurchaseRequestId = pPurchaseRequestId; }
public PurchaseRequestDetailUI() { InitializeComponent(); loPurchaseRequest = new PurchaseRequest(); loPurchaseRequestDetail = new PurchaseRequestDetail(); loSupplier = new Supplier(); loEmployee = new Employee(); loStock = new Stock(); loCommon = new Common(); lOperation = GlobalVariables.Operation.Add; //loStockReceivingDetailRpt = new StockReceivingDetailRpt(); loReportViewer = new ReportViewerUI(); lPurchaseRequestId = ""; }
public void SaveOrUpdateBidAnalysisRequest(int PRID) { BidAnalysisRequest BidAnalysisRequest = CurrentBidAnalysisRequest; BidAnalysisRequest.PurchaseRequest = _controller.GetPurchaseRequestbyPuID(PRID).PurchaseRequest; BidAnalysisRequest.RequestNo = View.GetRequestNo; BidAnalysisRequest.RequestDate = Convert.ToDateTime(DateTime.Today.ToShortDateString()); foreach (Bidder detail in CurrentBidAnalysisRequest.GetBidderbyRank()) { if (detail.Rank == 1) { Totalamount = Totalamount + detail.TotalCost; } } PurchaseRequestDetail PD = _controller.GetPurchaseRequestbyPuID(PRID); PD.BidAnalysisRequestStatus = "Pending"; BidAnalysisRequest.TotalPrice = Totalamount; BidAnalysisRequest.ProgressStatus = ProgressStatus.InProgress.ToString(); // if (View.GetProjectId != 0) // BidAnalysisRequest.Project = _settingController.GetProject(View.GetProjectId); // if (View.GetGrantId != 0) // BidAnalysisRequest.Grant = _settingController.GetGrant(View.GetGrantId); BidAnalysisRequest.AppUser = _adminController.GetUser(CurrentUser().Id); if (CurrentBidAnalysisRequest.BidAnalysisRequestStatuses.Count == 0) { SaveBidAnalysisRequestStatus(); } GetCurrentApprover(); _controller.SaveOrUpdateEntity(BidAnalysisRequest); _controller.CurrentObject = null; if (CurrentBidAnalysisRequest.BidAnalysisRequestStatuses.Count == 0) { // && CurrentBidAnalysisRequest.GetBidderbyRank().Rank == 1) foreach (BidderItemDetail biderItem in CurrentBidAnalysisRequest.BidderItemDetails) { foreach (Bidder detail in biderItem.Bidders) { ///// Totalamount = Totalamount + detail.TotalCost; } } } }
public PurchaseOrderDetailUI() { InitializeComponent(); loPurchaseOrder = new PurchaseOrder(); loPurchaseOrderDetail = new PurchaseOrderDetail(); loPurchaseRequest = new PurchaseRequest(); loPurchaseRequestDetail = new PurchaseRequestDetail(); loSupplier = new Supplier(); loStock = new Stock(); loCommon = new Common(); lOperation = GlobalVariables.Operation.Add; loLookUpPurchaseRequest = new LookUpPurchaseRequestUI(); loReportViewer = new ReportViewerUI(); lPurchaseOrderId = ""; }
public bool UpdateApprovedPrItems(PurchaseRequestDetail prd, int supid, long approveddate) { var original = dbcontext.PurchaseRequestDetails.Find(prd.Id); if (original == null) { throw new Exception(); } original.Remarks = prd.Remarks; original.Status = prd.Status; original.ApprovedBySupId = supid; original.ApprovedDate = approveddate; dbcontext.SaveChanges(); return(true); }
protected void dgPurchaseRequestDetail_ItemCommand(object source, DataGridCommandEventArgs e) { if (e.CommandName == "AddNew") { try { PurchaseRequestDetail Detail = new PurchaseRequestDetail(); DropDownList ddlFAccount = e.Item.FindControl("ddlFAccount") as DropDownList; Detail.ItemAccount = _presenter.GetItemAccount(int.Parse(ddlFAccount.SelectedValue)); TextBox txtFAccountCode = e.Item.FindControl("txtFAccountCode") as TextBox; Detail.AccountCode = txtFAccountCode.Text; TextBox txtFItem = e.Item.FindControl("txtFItem") as TextBox; Detail.Item = txtFItem.Text; TextBox txtFQty = e.Item.FindControl("txtFQty") as TextBox; Detail.Qty = Convert.ToInt32(txtFQty.Text); TextBox txtFPriceperunit = e.Item.FindControl("txtFPriceperunit") as TextBox; Detail.Priceperunit = Convert.ToDecimal(txtFPriceperunit.Text); Detail.EstimatedCost = Convert.ToInt32(txtFQty.Text) * Convert.ToDecimal(txtFPriceperunit.Text); //Determine total cost decimal cost = 0; if (_presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Count > 0) { foreach (PurchaseRequestDetail detail in _presenter.CurrentPurchaseRequest.PurchaseRequestDetails) { cost = cost + detail.EstimatedCost; } } _presenter.CurrentPurchaseRequest.TotalPrice = cost; //Determine total cost end _presenter.CurrentPurchaseRequest.TotalPrice = _presenter.CurrentPurchaseRequest.TotalPrice + Detail.EstimatedCost; txtTotal.Text = (_presenter.CurrentPurchaseRequest.TotalPrice).ToString(); DropDownList ddlFProject = e.Item.FindControl("ddlFProject") as DropDownList; Detail.Project = _presenter.GetProject(int.Parse(ddlFProject.SelectedValue)); DropDownList ddlFGrant = e.Item.FindControl("ddlFGrant") as DropDownList; Detail.Grant = _presenter.GetGrant(int.Parse(ddlFGrant.SelectedValue)); Detail.PurchaseRequest = _presenter.CurrentPurchaseRequest; _presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Add(Detail); Master.ShowMessage(new AppMessage("Purchase Request Detail added successfully.", RMessageType.Info)); dgPurchaseRequestDetail.EditItemIndex = -1; BindPurchaseRequestDetails(); } catch (Exception ex) { Master.ShowMessage(new AppMessage("Error: Unable to Add Purchase Request Detail. " + ex.Message, RMessageType.Error)); } } }
public PurchaseOrderDetailUI(string pPurchaseOrderId) { InitializeComponent(); lOperation = GlobalVariables.Operation.Edit; loPurchaseOrder = new PurchaseOrder(); loPurchaseOrderDetail = new PurchaseOrderDetail(); loPurchaseRequest = new PurchaseRequest(); loPurchaseRequestDetail = new PurchaseRequestDetail(); loSupplier = new Supplier(); loEmployee = new Employee(); loStock = new Stock(); loCommon = new Common(); loLookUpPurchaseRequest = new LookUpPurchaseRequestUI(); loReportViewer = new ReportViewerUI(); lPurchaseOrderId = pPurchaseOrderId; }
public void can_clear_existing_items() { var purchaserequest = new PurchaseRequest(); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); var newItemPurchaseRequestDetails = new PurchaseRequestDetail("1", 4, new System.DateTime(2021, 2, 14), purchaserequest) { Id = 1 }; purchaserequest.AddOrReplacePurchaseRequestDetails(newItemPurchaseRequestDetails); Assert.Equal(1, purchaserequest.PurchaseRequestDetails.Count); purchaserequest.ClearPurchaseRequestDetails(); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); }
public PurchaseRequestDetail UpdatePurchaseRequestItem(PurchaseRequestDetail prd) { var original = dbcontext.PurchaseRequestDetails.Find(prd.Id); if (original == null) { throw new Exception(); } original.ReorderQty = prd.ReorderQty; original.SupplierId = prd.SupplierId; original.VenderQuote = prd.VenderQuote; original.TotalPrice = prd.TotalPrice; original.Status = prd.Status; original.SubmitDate = prd.SubmitDate; original.Remarks = prd.Remarks; dbcontext.SaveChanges(); return(original); }
protected void btnCreateSoleVendor_Click(object sender, EventArgs e) { try { _presenter.OnViewLoaded(); btnSave.Visible = true; pnlInfo.Visible = false; _presenter.CurrentSoleVendorRequest.SoleVendorRequestDetails = new List <SoleVendorRequestDetail>(); foreach (GridViewRow item in grvDetails.Rows) { int prDetailID = (int)grvDetails.DataKeys[item.RowIndex].Value; Session["prId"] = prDetailID; if (item.RowType == DataControlRowType.DataRow) { CheckBox chk = (CheckBox)item.FindControl("chkSelect"); if (chk.Checked) { if (_presenter.GetPurchaseRequestDetail(prDetailID) != null) { PurchaseRequestDetail PRDetail = _presenter.GetPurchaseRequestDetail(prDetailID); SoleVendorRequestDetail svDetail = new SoleVendorRequestDetail(); svDetail.PRDetailID = PRDetail.Id; svDetail.ItemAccount = PRDetail.ItemAccount; svDetail.ItemDescription = PRDetail.ItemDescription; svDetail.Qty = PRDetail.ApprovedQuantity; //Make sure the approved quanity is the one to be used for purchase svDetail.Project = PRDetail.Project; svDetail.Grant = PRDetail.Grant; _presenter.CurrentSoleVendorRequest.SoleVendorRequestDetails.Add(svDetail); _presenter.CurrentSoleVendorRequest.PurchaseRequest = PRDetail.PurchaseRequest; BindSoleVendorRequestDetails(); } } } } } catch (Exception ex) { Master.ShowMessage(new AppMessage("Error: Unable to Add SoleVendor Item " + ex.Message, RMessageType.Error)); ExceptionUtility.LogException(ex, ex.Source); ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName); } }
private void SavePurchaseRequestStatus() { foreach (BidAnalysisRequestStatus PRS in _presenter.CurrentBidAnalysisRequest.BidAnalysisRequestStatuses) { foreach (BidderItemDetail detail in _presenter.CurrentBidAnalysisRequest.GetBidderItemDetailByPRDetailId()) { PurchaseRequestDetail PD = _presenter.GetPurchaseRequestbyPuID(detail.PRDetailId); if ((PRS.Approver == _presenter.CurrentUser().Id || _presenter.CurrentUser().Id == (_presenter.GetAssignedJobbycurrentuser(PRS.Approver) != null ? _presenter.GetAssignedJobbycurrentuser(PRS.Approver).AssignedTo : 0)) && PRS.WorkflowLevel == _presenter.CurrentBidAnalysisRequest.CurrentLevel) { PRS.ApprovalDate = DateTime.Now; PRS.ApprovalStatus = ddlApprovalStatus.SelectedValue; PRS.AssignedBy = _presenter.GetAssignedJobbycurrentuser(PRS.Approver) != null?_presenter.GetAssignedJobbycurrentuser(PRS.Approver).AppUser.FullName : ""; PRS.RejectedReason = txtRejectedReason.Text; if (PRS.ApprovalStatus != ApprovalStatus.Rejected.ToString()) { if (_presenter.CurrentBidAnalysisRequest.CurrentLevel == _presenter.CurrentBidAnalysisRequest.BidAnalysisRequestStatuses.Count) { _presenter.CurrentBidAnalysisRequest.ProgressStatus = ProgressStatus.Completed.ToString(); } GetNextApprover(); PRS.Approver = _presenter.CurrentUser().Id; Log.Info(_presenter.GetUser(PRS.Approver).FullName + " has " + PRS.ApprovalStatus + " Bid Analysis Request made by " + _presenter.GetUser(_presenter.CurrentBidAnalysisRequest.AppUser.Id).FullName); // btnPurchaseOrder.Enabled = true; PD.BidAnalysisRequestStatus = "Pending"; } else { _presenter.CurrentBidAnalysisRequest.ProgressStatus = ProgressStatus.Completed.ToString(); _presenter.CurrentBidAnalysisRequest.CurrentStatus = ApprovalStatus.Rejected.ToString(); PRS.Approver = _presenter.CurrentUser().Id; SendEmailRejected(PRS); Log.Info(_presenter.GetUser(PRS.Approver).FullName + " has " + PRS.ApprovalStatus + " Bid Analysis Request made by " + _presenter.GetUser(_presenter.CurrentBidAnalysisRequest.AppUser.Id).FullName); PD.BidAnalysisRequestStatus = "InProgress"; //btnPurchaseOrder.Enabled = true; } break; } } } }
public void can_add_new_item() { var purchaserequest = new PurchaseRequest(); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); purchaserequest.AddPurchaseRequestDetails("1", 4, new System.DateTime(2021, 2, 14)); Assert.Equal(1, purchaserequest.PurchaseRequestDetails.Count); var newItemPurchaseRequestDetails = new PurchaseRequestDetail("1", 4, new System.DateTime(2021, 2, 14), purchaserequest) { Id = 1 }; purchaserequest.AddOrReplacePurchaseRequestDetails(newItemPurchaseRequestDetails); Assert.Equal(2, purchaserequest.PurchaseRequestDetails.Count); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.Id == newItemPurchaseRequestDetails.Id); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.Qty == newItemPurchaseRequestDetails.Qty); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.RequestDate == newItemPurchaseRequestDetails.RequestDate); }
public void can_remove_existing_item() { var purchaserequest = new PurchaseRequest(); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); var newItemPurchaseRequestDetails = new PurchaseRequestDetail("1", 4, new System.DateTime(2021, 2, 14), purchaserequest) { Id = 1 }; purchaserequest.AddOrReplacePurchaseRequestDetails(newItemPurchaseRequestDetails); Assert.Equal(1, purchaserequest.PurchaseRequestDetails.Count); purchaserequest.RemovePurchaseRequestDetails(newItemPurchaseRequestDetails); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); Assert.DoesNotContain(purchaserequest.PurchaseRequestDetails, e => e.Id == newItemPurchaseRequestDetails.Id); Assert.DoesNotContain(purchaserequest.PurchaseRequestDetails, e => e.Qty == newItemPurchaseRequestDetails.Qty); Assert.DoesNotContain(purchaserequest.PurchaseRequestDetails, e => e.RequestDate == newItemPurchaseRequestDetails.RequestDate); }
public List <PurchaseRequestDetail> AddPurchaseRequest(List <string> productid, int clerkId) { long currentpurchaserequestid = (long)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() / 42; foreach (string id in productid) { PurchaseRequestDetail prd1 = new PurchaseRequestDetail(); prd1.ProductId = id; prd1.Status = Status.PurchaseRequestStatus.created; prd1.PurchaseRequestId = currentpurchaserequestid; Transaction t = trepo.GetLatestTransactionByProductId(id); prd1.CurrentStock = t.Balance; prd1.CreatedByClerkId = clerkId; purreqrepo.AddNewPurchaseRequestDetail(prd1); } List <PurchaseRequestDetail> prlist = purreqrepo.GetCurrentPurchaseRequest(currentpurchaserequestid); return(prlist); }
protected void btnApprove_Click(object sender, EventArgs e) { try { if (_presenter.CurrentBidAnalysisRequest.ProgressStatus != ProgressStatus.Completed.ToString()) { foreach (BidderItemDetail detail in _presenter.CurrentBidAnalysisRequest.GetBidderItemDetailByPRDetailId()) { PurchaseRequestDetail PD = _presenter.GetPurchaseRequestbyPuID(detail.PRDetailId); SavePurchaseRequestStatus(); Session["PurchaseId"] = _presenter.CurrentBidAnalysisRequest.PurchaseRequest.Id; _presenter.SaveOrUpdateBidAnalysisRequest(_presenter.CurrentBidAnalysisRequest); //ShowPrint(); EnableControls(); if (ddlApprovalStatus.SelectedValue != "Rejected") { Master.ShowMessage(new AppMessage("Purchase Approval Processed ", RMessageType.Info)); } else { Master.ShowMessage(new AppMessage("Purchase Approval Rejected ", RMessageType.Info)); PD.BidAnalysisRequestStatus = "InProgress"; } btnApprove.Enabled = false; BindSearchPurchaseRequestGrid(); pnlApproval_ModalPopupExtender.Show(); } BindBidAnalysisRequestforprint(); btnApprove.Enabled = false; } } catch (Exception ex) { Master.ShowMessage(new AppMessage(ex.Message, RMessageType.Error)); ExceptionUtility.LogException(ex, ex.Source); ExceptionUtility.NotifySystemOps(ex, _presenter.CurrentUser().FullName); } }
public static PurchaseRequestDetail GetPurchaseRequesData(string id) { var data = new PurchaseRequestDetail(); using (SqlConnection conn = new SqlConnection(SPlanetUtil.GetConnectionString())) { //Create array of Parameters List <SqlParameter> arrParm = new List <SqlParameter> { new SqlParameter("@id", SqlDbType.Int) { Value = Convert.ToInt32(id) }, new SqlParameter("@search_name", SqlDbType.VarChar, 200) { Value = "" } }; conn.Open(); var dsPurchaseRequesData = SqlHelper.ExecuteDataset(conn, "sp_purchase_request_header_list", arrParm.ToArray()); conn.Close(); if (dsPurchaseRequesData.Tables.Count > 0) { if (dsPurchaseRequesData.Tables[0].Rows.Count > 0) { var row = (from t in dsPurchaseRequesData.Tables[0].AsEnumerable() select t).FirstOrDefault(); if (row != null) { data.purchase_request_no = Convert.IsDBNull(row["purchase_request_no"]) ? string.Empty : Convert.ToString(row["purchase_request_no"]); } } } } return(data); }
public void remove_nont_exist_item_should_return_nothing() { var purchaserequest = new PurchaseRequest(); Assert.Equal(0, purchaserequest.PurchaseRequestDetails.Count); var newItemPurchaseRequestDetails = new PurchaseRequestDetail("1", 4, new System.DateTime(2021, 2, 14), purchaserequest) { Id = 1 }; purchaserequest.AddOrReplacePurchaseRequestDetails(newItemPurchaseRequestDetails); Assert.Equal(1, purchaserequest.PurchaseRequestDetails.Count); var removeItemPurchaseRequestDetails = new PurchaseRequestDetail("1", 4, new System.DateTime(2021, 2, 14), purchaserequest) { Id = 2 }; purchaserequest.RemovePurchaseRequestDetails(removeItemPurchaseRequestDetails); Assert.Equal(1, purchaserequest.PurchaseRequestDetails.Count); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.Id == newItemPurchaseRequestDetails.Id); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.Qty == newItemPurchaseRequestDetails.Qty); Assert.Contains(purchaserequest.PurchaseRequestDetails, e => e.RequestDate == newItemPurchaseRequestDetails.RequestDate); }
public PharmacyResponse CreateOrEdit(PharmacyRequest request) { PharmacyResponse response = new PharmacyResponse(); using (var transaction = _context.Database.BeginTransaction()) { try { var queue = _context.QueuePolis.FirstOrDefault(x => x.FormMedicalID == request.Data.FormMedicalID && x.PoliTo == (int)PoliEnum.Farmasi && x.RowStatus == 0); // set as waiting queue.Status = 1; _context.SaveChanges(); #region :: INSERT To PRODUCT:: // unit & category ini sementara hardcode dulu, nantinya bakal dipilih dari screen farmasi var _prdCatIdOral = _unitOfWork.ProductCategoryRepository.Get(x => x.Name.ToLower() == ORAL).FirstOrDefault() == null ? 0 : _unitOfWork.ProductCategoryRepository.Get(x => x.Name.ToLower() == ORAL).FirstOrDefault().ID; var _prdCatIdRacikan = _unitOfWork.ProductCategoryRepository.Get(x => x.Name.ToLower() == CONCOCTION).FirstOrDefault() == null ? 0 : _unitOfWork.ProductCategoryRepository.Get(x => x.Name.ToLower() == CONCOCTION).FirstOrDefault().ID; var _prdUnitId = _unitOfWork.ProductUnitRepository.Get(x => x.Name.ToLower() == PIECE).FirstOrDefault() == null ? 0 : _unitOfWork.ProductUnitRepository.Get(x => x.Name.ToLower() == PIECE).FirstOrDefault().ID; foreach (var tobeInsert in request.Data.Medicines) { if (!String.IsNullOrEmpty(tobeInsert.Detail.ProcessType)) { var entity = new Product { ClinicID = request.Account.ClinicID, Name = tobeInsert.Detail.ProductName, ProductCategoryID = tobeInsert.Detail.ProcessType.ToLower() == MedicineTypeEnum.REQUEST.ToString().ToLower() ? _prdCatIdOral : _prdCatIdRacikan, ProductUnitID = _prdUnitId, RetailPrice = 0, RowStatus = 0, CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now }; _context.Products.Add(entity); _context.SaveChanges(); tobeInsert.Detail.ProductID = entity.ID; } } #endregion #region :: FORM EXAMINE DETAIL:: var _getFrmExId = _unitOfWork.FormExamineRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault().ID; var idFormExamineMedicine = _unitOfWork.FormExamineMedicineRepository.Get(x => x.FormExamineID == _getFrmExId).Select(x => x.ID).ToList(); var existingMedDetail = _unitOfWork.FormExamineMedicineDetailRepository.Get(x => idFormExamineMedicine.Contains(x.FormExamineMedicineID ?? 0)); foreach (var tobedelete in existingMedDetail) { _context.FormExamineMedicineDetails.Remove(tobedelete); _context.SaveChanges(); } foreach (var tobeInsert in request.Data.Medicines) { var _idExMed = tobeInsert.Id; var entity = Mapper.Map <FormExamineMedicineDetailModel, FormExamineMedicineDetail>(tobeInsert.Detail); entity.FormExamineMedicineID = _idExMed; entity.CreatedDate = DateTime.Now; entity.CreatedBy = request.Account.UserName; _context.FormExamineMedicineDetails.Add(entity); _context.SaveChanges(); tobeInsert.Detail.Id = entity.ID; } #endregion #region ::INSERT To Product In Gudang:: foreach (var tobeInsert in request.Data.Medicines) { var entity = new Klinik.Data.DataRepository.ProductInGudang(); if (!String.IsNullOrEmpty(tobeInsert.Detail.ProcessType)) { if (tobeInsert.Detail.ProcessType.ToLower() == "racik") { entity = new Klinik.Data.DataRepository.ProductInGudang { stock = Convert.ToInt32(Math.Round(tobeInsert.Detail.Qty ?? 0)), ProductId = (Int32)tobeInsert.Detail.Id, CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now, RowStatus = 0 }; } if (tobeInsert.Detail.ProcessType.ToLower() == "request") { entity = new Klinik.Data.DataRepository.ProductInGudang { stock = 0, ProductId = (Int32)tobeInsert.Detail.Id, CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now, RowStatus = 0 }; } } else { entity = new Klinik.Data.DataRepository.ProductInGudang { stock = -Convert.ToInt32(Math.Round(tobeInsert.Detail.Qty ?? 0)), ProductId = tobeInsert.Detail.ProductID, CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now, RowStatus = 0 }; } _context.ProductInGudangs.Add(entity); _context.SaveChanges(); } #endregion #region ::INSERT INTO PRODUCT IN GUDANG FOR KOMPONEN:: List <KomponenObatRacikan> CollOfRacikanKomponen = new List <KomponenObatRacikan>(); CollOfRacikanKomponen = JsonConvert.DeserializeObject <List <KomponenObatRacikan> >(request.Data.ObatRacikanKomponens); foreach (var itemDet in CollOfRacikanKomponen) { var _convAmt = Convert.ToDecimal(itemDet.Amount.Replace('.', ',')); var entDetil = new Klinik.Data.DataRepository.ProductInGudang { stock = -Convert.ToInt32(Math.Round(_convAmt)), ProductId = itemDet.Id == null ? 0 : Convert.ToInt32(itemDet.Id), CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now, RowStatus = 0 }; _context.ProductInGudangs.Add(entDetil); _context.SaveChanges(); } #endregion #region ::INSERT TO PR for new Medicine:: var _nullProcess = request.Data.Medicines.Where(x => x.Detail.ProcessType == null); var newReqMed = request.Data.Medicines.Except(_nullProcess).Where(x => x.Detail.ProcessType.ToLower() == "request"); foreach (var itemPrhdr in newReqMed) { var entityPrHdr = new Persistence.PurchaseRequest { prnumber = $"PR-{DateTime.Now.ToString("yyyyMMddhhmmss")}",//will be changed with autogenerate PR No prdate = DateTime.Now, RowStatus = 0, CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now }; _context.PurchaseRequests.Add(entityPrHdr); _context.SaveChanges(); var IdPrHdr = entityPrHdr.id; //insert to PR detail var entPRDetail = new PurchaseRequestDetail { PurchaseRequestId = IdPrHdr, ProductId = itemPrhdr.Detail.ProductID ?? 0, namabarang = itemPrhdr.Detail.ProductName, qty = itemPrhdr.Detail.Qty, qty_add = itemPrhdr.Detail.Qty, reason_add = "REQUEST FROM PHARMACY", CreatedBy = request.Account.UserName, CreatedDate = DateTime.Now }; _context.PurchaseRequestDetails.Add(entPRDetail); _context.SaveChanges(); } #endregion transaction.Commit(); response.Status = true; response.Message = Messages.PrescriptionProcessSuccess; } catch (Exception ex) { transaction.Rollback(); response.Status = false; response.Message = Messages.GeneralError; ErrorLog(ClinicEnums.Module.PHARMACY, Constants.Command.EDIT_FORM_EXAMINE_MEDICINE, request.Account, ex); } } return(response); }
public void DeletePurchaseRequestDetail(PurchaseRequestDetail PurchaseRequestDetail) { _controller.DeleteEntity(PurchaseRequestDetail); }
private void Controller_ObjectCreated(object sender, ObjectCreatedEventArgs e) { ListView lv = ((ListView)View); if (lv.CollectionSource is PropertyCollectionSource) { PropertyCollectionSource collectionSource = (PropertyCollectionSource)lv.CollectionSource; if (collectionSource.MasterObject != null) { int minvalue = 0; int maxvisorder = 0; if (collectionSource.MasterObjectType == typeof(StockTransferRequest) && e.CreatedObject.GetType() == typeof(StockTransferRequestDetail)) { StockTransferRequest masterobject = (StockTransferRequest)collectionSource.MasterObject; StockTransferRequestDetail currentobject = (StockTransferRequestDetail)e.CreatedObject; copyCon.GetStockDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (sDtlS != null) { copyCon.copyClassStockTransferDocumentDetail(sDtlS, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseOrder)) { PurchaseOrder masterobject = (PurchaseOrder)collectionSource.MasterObject; PurchaseOrderDetail currentobject = (PurchaseOrderDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseRequest)) { PurchaseRequest masterobject = (PurchaseRequest)collectionSource.MasterObject; PurchaseRequestDetail currentobject = (PurchaseRequestDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseDelivery)) { PurchaseDelivery masterobject = (PurchaseDelivery)collectionSource.MasterObject; PurchaseDeliveryDetail currentobject = (PurchaseDeliveryDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseReturn)) { PurchaseReturn masterobject = (PurchaseReturn)collectionSource.MasterObject; PurchaseReturnDetail currentobject = (PurchaseReturnDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseQuotation)) { PurchaseQuotation masterobject = (PurchaseQuotation)collectionSource.MasterObject; PurchaseQuotationDetail currentobject = (PurchaseQuotationDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } } } sDtl = null; sDtlS = null; }
private void CleanReferenceObject(PurchaseRequestDetail entity) { entity.PurchaseRequest = null; entity.Part = null; }