Beispiel #1
0
        // AJAX
        // Reject Department Requests
        public ActionResult Ajax_Reject_Department_Request(ajax_model ajax_model_data)
        {
            ajax_model ajax_data = new ajax_model
            {
                name      = ajax_model_data.name,
                main_data = ajax_model_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                List <orders> order_lis = db.orders_repository.Where(or => or.staff_obj.department_obj.department_name == ajax_data.name).ToList();

                foreach (orders or in order_lis)
                {
                    or.order_status = "Rejected_by_Clerk";

                    db.SaveChanges();
                }
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            //Email Notification
            staff  rep      = StaffData.GetStaffByName(DepartmentData.GetRepresentativebyDepName(ajax_data.name));
            string emailadd = rep.email;
            Task   task     = Task.Run(() => {
                EmailNotification.SendNotificationEmailToEmployee(emailadd, "New Disbursment Order Reminder", "There is a new disbursment order to your department was rejected by store clerk.");
            });

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        // AJAX
        // Reject Department Requests
        public ActionResult Ajax_Reject_Department_Request(ajax_model ajax_model_data)
        {
            ajax_model ajax_data = new ajax_model
            {
                name      = ajax_model_data.name,
                main_data = ajax_model_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                List <orders> order_lis = db.orders_repository.Where(or => or.staff_obj.department_obj.department_name == ajax_data.name).ToList();

                foreach (orders or in order_lis)
                {
                    or.order_status = "Rejected_by_Clerk";

                    db.SaveChanges();
                }
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
        public JsonResult Ajax_Request_Item(ajax_model ajax_model_obj)
        {
            List <String> item_name_lis = new List <String>();

            ajax_model data = new ajax_model
            {
                name      = ajax_model_obj.name,
                main_data = ajax_model_obj.main_data,
            };

            using (var db = new DataBaseContext())
            {
                List <item> all_item_lis = db.item_repository.ToList <item>();

                for (int i = 0; i < all_item_lis.Count; i++)
                {
                    item_name_lis.Add(all_item_lis[i].item_description);
                }
            }
            object reply_to_client = new
            {
                key_itemname_lis = item_name_lis,
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        public ActionResult Ajax_Representative_Autority_Request_Item(ajax_model ajax_model_data)
        {
            using (var db = new DataBaseContext())
            {
                String username = Session["UserName"].ToString();

                staff staff_obj = db.staff_repository.Where(s => s.name == username).Select(x => x).FirstOrDefault();

                string department_name = staff_obj.department_obj.department_name;

                List <staff> staff_lis = db.staff_repository.Where(s => s.department_obj.department_name == department_name && s.position == "Employee").ToList();

                List <String> staff_name_lis = new List <String>();

                foreach (staff temp_staff in staff_lis)
                {
                    staff_name_lis.Add(temp_staff.name);
                }

                object reply_to_client = new
                {
                    key_staff_lis = staff_name_lis,
                };
                return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #5
0
        // Cancel Representative Staff
        public ActionResult Ajax_Cancel_Representative_Staff(ajax_model ajax_data)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_data.name,
                main_data = ajax_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int temp_id = Int32.Parse(data.name);

                staff_representative staff_repre_obj = db.staff_representative_repository.Where(s => s.staff_representativeId == temp_id).FirstOrDefault();

                // Change position "Representative" to "Employee"
                //staff staff = db.staff_repository.Where(s => s.staffId == staff_repre_obj.representative_staff_obj.staffId).FirstOrDefault();
                //staff.position = "Employee";

                db.staff_representative_repository.Remove(staff_repre_obj);

                db.SaveChanges();
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #6
0
        public ActionResult Ajax_Reject_Request_Item(ajax_model ajax_data)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_data.name,
                main_data = ajax_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int temp_id = Int32.Parse(data.main_data[0]);

                orders temp_order = db.orders_repository.Where(o => o.ordersId == temp_id).FirstOrDefault();
                temp_order.order_status = "Reject_by_Head";

                db.SaveChanges();
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };


            //Email Notification
            orders ord      = OrdersData.GetOrderById(Int32.Parse(data.main_data[0]));
            string emailadd = StaffData.GetStaffByName(ord.staff_obj.name).email;
            Task   task     = Task.Run(() => {
                EmailNotification.SendNotificationEmailToEmployee(emailadd, "Requisition Progress Updated", "Your requisition was just rejected by manager, please check.");
            });

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #7
0
        public JsonResult Ajax_Edit_Request_Item(ajax_model ajax_model_obj)
        {
            orders order_item;

            ajax_model data = new ajax_model
            {
                name      = ajax_model_obj.name,
                main_data = ajax_model_obj.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int target_order_item = Int32.Parse(data.name);

                order_item = db.orders_repository.Where(x => x.ordersId == target_order_item).FirstOrDefault();


                object reply_to_client = new
                {
                    order_id = order_item.ordersId,
                    order_item_description = order_item.item_obj.item_description,
                    order_quantity         = order_item.proposed_quantity
                };
                return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
            }

            //return Json(null, JsonRequestBehavior.AllowGet);
        }
Beispiel #8
0
        public ActionResult Ajax_Change_Collection_Point(ajax_model ajax_data)
        {
            string[] collection_point_list = new string[] { "Stationery Store", "Managament School", "Medical School", "Engineering School", "Science School", "University Hospital" };

            object reply_to_client = new
            {
                key_staff_lis = collection_point_list,
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Ajax_Reject_Adjustment_ID(ajax_model ajax_data)
        {
            using (var db = new DataBaseContext())
            {
                int adjust_id = Int32.Parse(ajax_data.name);

                adjustment_voucher adjust_obj = db.adjustment_voucher_repository.Where(x => x.adjustment_voucherId == adjust_id).FirstOrDefault();
                adjust_obj.status = "Rejected_by_Manager";

                db.SaveChanges();
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #10
0
        public ActionResult Ajax_Cancel_Authority(ajax_model ajax_data)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_data.name,
                main_data = ajax_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int temp_id = Int32.Parse(data.name);

                staff_representative staff_repre_obj = db.staff_representative_repository.Include("representative_staff_obj").Where(s => s.staff_representativeId == temp_id).FirstOrDefault();

                // Change position "Representative" to "Employee"
                //staff staff = db.staff_repository.Where(s => s.staffId == staff_repre_obj.representative_staff_obj.staffId).FirstOrDefault();
                //staff.position = "Employee";


                //Email Notification

                staff  sta      = db.staff_repository.Where(x => x.staffId == staff_repre_obj.representative_staff_obj.staffId).FirstOrDefault();
                string emailadd = sta.email;
                Task   task     = Task.Run(() => {
                    EmailNotification.SendNotificationEmailToEmployee(emailadd, "New Delegation Reminder", "Your delegation role was just be canceled, please check it out.");
                });

                staff_repre_obj.status = "Expired";

                db.SaveChanges();
            }



            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #11
0
        public ActionResult Ajax_Cancel_Reject_Request_Item(ajax_model ajax_data)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_data.name,
                main_data = ajax_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int temp_id = Int32.Parse(data.main_data[0]);

                orders temp_order = db.orders_repository.Where(o => o.ordersId == temp_id).FirstOrDefault();
                temp_order.order_status = "Pending";

                db.SaveChanges();
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #12
0
        public JsonResult Ajax_Delete_Request_Item(ajax_model ajax_model_obj)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_model_obj.name,
                main_data = ajax_model_obj.main_data,
            };

            using (var db = new DataBaseContext())
            {
                int target_order_item = Int32.Parse(data.name);

                orders order_item = db.orders_repository.Where(x => x.ordersId == target_order_item).FirstOrDefault();

                db.orders_repository.Remove(order_item);
                db.SaveChanges();
            }
            object reply_to_client = new
            {
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #13
0
        // Approve Department Request
        public ActionResult Ajax_Approve_Department_Request(ajax_model ajax_model_data)
        {
            string quantity_status = "";
            int    stock_level     = 0;
            string order_id_status = "";

            Dictionary <string, int> item_and_quantity_of_department = new Dictionary <string, int>();

            ajax_model ajax_data = new ajax_model
            {
                name      = ajax_model_data.name,
                main_data = ajax_model_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                List <orders> order_lis = db.orders_repository.Where(or => or.staff_obj.department_obj.department_name == ajax_data.name && or.order_status == "Approved_by_Head").ToList();

                Dictionary <int, int> item_quantity = new Dictionary <int, int>();

                List <items_warehouse> item_ware_lis = db.item_warehouses_repository.ToList();

                foreach (items_warehouse temp_item in item_ware_lis)
                {
                    item_quantity.Add(temp_item.item.itemId, temp_item.stock_balance);
                }

                for (int i = 0; i < order_lis.Count; i++)
                {
                    orders temp_order = order_lis[i];

                    stock_level = item_quantity[temp_order.item_obj.itemId];

                    stock_level = stock_level - temp_order.proposed_quantity;

                    order_id_status = temp_order.ordersId.ToString();

                    // For Stock Card
                    item_and_quantity_of_department.Add(temp_order.item_obj.item_description, temp_order.proposed_quantity);

                    if (stock_level < 0)
                    {
                        quantity_status = "OUT_OF_STOCK";
                        break;
                    }
                    else
                    {
                        item_quantity[temp_order.item_obj.itemId] = stock_level;
                    }
                }

                if (quantity_status != "OUT_OF_STOCK")
                {
                    foreach (KeyValuePair <int, int> data in item_quantity)
                    {
                        items_warehouse item_ware_obj = db.item_warehouses_repository.Where(k => k.item.itemId == data.Key).FirstOrDefault();
                        item_ware_obj.stock_balance = data.Value;
                        db.SaveChanges();
                        quantity_status = "QUANTITY_SUFFICIENT";

                        // Add ACTUAL_QUANTITY and DELIVERY DATE
                        foreach (orders temp_order in order_lis)
                        {
                            temp_order.actual_delivered_quantity_by_clerk = temp_order.proposed_quantity;
                            temp_order.delivered_order_date = DateTime.Now.ToString();
                            db.SaveChanges();
                        }
                    }

                    // For Stock Card
                    foreach (KeyValuePair <string, int> temp_data in item_and_quantity_of_department)
                    {
                        item item_obj = db.item_repository.Where(i => i.item_description == temp_data.Key).FirstOrDefault();

                        // STOCK CARD UPDATE
                        stock_card stock_card_obj = new stock_card(ajax_data.name, DateTime.Now.ToString(), " - " + temp_data.Value, item_obj);
                        db.stock_card_repository.Add(stock_card_obj);
                        db.SaveChanges();
                    }

                    foreach (orders temp_order in order_lis)
                    {
                        temp_order.order_status = "Approved_by_Clerk";
                        db.SaveChanges();
                    }
                }
            }
            object reply_to_client = new
            {
                item_quantity_status  = quantity_status,
                stock_level_status    = stock_level,
                order_identity_status = order_id_status,
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #14
0
        public JsonResult Ajax_Purchase_Order(ajax_model ajax_data)
        {
            ajax_model data = new ajax_model
            {
                name      = ajax_data.name,
                main_data = ajax_data.main_data,
            };
            Dictionary <string, int> supplier_and_quantity;
            string supplier_status = "NOT_OUT_OF_STOCK_IN_SUPPLIER";

            using (var db = new DataBaseContext())
            {
                int temp_item_ware_id = Int32.Parse(data.name);

                items_warehouse item_ware_obj = db.item_warehouses_repository.Where(it => it.items_warehouseId == temp_item_ware_id).FirstOrDefault();

                supplier_and_quantity = SEND_ORDER_TO_SUPPLIERS(item_ware_obj);

                // Add Total Quantity From Suppliers
                foreach (KeyValuePair <string, int> temp_data in supplier_and_quantity)
                {
                    item_ware_obj.stock_balance = item_ware_obj.stock_balance + temp_data.Value;
                    suppliers sup_obj = db.suppliers_repository.Where(s => s.name == temp_data.Key).FirstOrDefault();

                    if (temp_data.Key == "OUT_OF_STOCK_IN_SUPPLIER")
                    {
                        supplier_status = "OUT_OF_STOCK_IN_SUPPLIER";
                    }
                    else if (sup_obj.suppliersId == 1)
                    {
                        item_ware_obj.first_supplier_balance = item_ware_obj.first_supplier_balance + temp_data.Value;
                        db.SaveChanges();

                        // STOCK CARD UPDATE
                        stock_card stock_card_obj = new stock_card(sup_obj.name, DateTime.Now.ToString(), "+ " + temp_data.Value, item_ware_obj.item);
                        db.stock_card_repository.Add(stock_card_obj);
                        db.SaveChanges();
                    }
                    else if (sup_obj.suppliersId == 2)
                    {
                        item_ware_obj.second_supplier_balance = item_ware_obj.second_supplier_balance + temp_data.Value;
                        db.SaveChanges();

                        // STOCK CARD UPDATE
                        stock_card stock_card_obj = new stock_card(sup_obj.name, DateTime.Now.ToString(), "+ " + temp_data.Value, item_ware_obj.item);
                        db.stock_card_repository.Add(stock_card_obj);
                        db.SaveChanges();
                    }
                    else if (sup_obj.suppliersId == 3)
                    {
                        item_ware_obj.third_supplier_balance = item_ware_obj.third_supplier_balance + temp_data.Value;
                        db.SaveChanges();

                        // STOCK CARD UPDATE
                        stock_card stock_card_obj = new stock_card(sup_obj.name, DateTime.Now.ToString(), "+ " + temp_data.Value, item_ware_obj.item);
                        db.stock_card_repository.Add(stock_card_obj);
                        db.SaveChanges();
                    }
                }
            }
            object reply_to_client = new
            {
                supplier_and_quantity_key    = supplier_and_quantity,
                supplier_out_of_stock_status = supplier_status,
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #15
0
        public JsonResult Ajax_Disbursement_List(ajax_model obj)
        {
            string item_name = "";
            string ack_qty   = "";
            string del_qty   = "";
            string del_date  = "";

            using (var db = new DataBaseContext())
            {
                List <string> dept_list      = db.department_repository.Select(x => x.department_name).ToList();
                List <orders> all_order_list = db.orders_repository.Where(x => x.order_status == "Approved_by_Representative").ToList();
                List <orders> order_list     = new List <orders>();

                for (int j = 0; j < order_list.Count; j++)
                {
                    order_list[j].staff_obj = order_list[j].staff_obj;
                    order_list[j].item_obj  = order_list[j].item_obj;
                }

                for (int i = 0; i < all_order_list.Count; i++)
                {
                    if (all_order_list[i].staff_obj.department_obj.department_name == obj.name)
                    {
                        order_list.Add(all_order_list[i]);
                    }
                }

                for (int i = 0; i < order_list.Count; i++)
                {
                    order_list[i].item_obj = order_list[i].item_obj;
                }
                foreach (orders temp_ord in order_list)
                {
                    if (item_name == "")
                    {
                        item_name = temp_ord.item_obj.item_description;
                        ack_qty   = temp_ord.actual_received_quantity_by_representative.ToString();
                        del_qty   = temp_ord.actual_delivered_quantity_by_clerk.ToString();
                        del_date  = temp_ord.delivered_order_date.ToString();
                    }
                    else
                    {
                        item_name = item_name + "_" + temp_ord.item_obj.item_description;
                        ack_qty   = ack_qty + "_" + temp_ord.actual_received_quantity_by_representative.ToString();
                        del_qty   = del_qty + "_" + temp_ord.actual_delivered_quantity_by_clerk.ToString();
                        del_date  = del_date + "_" + temp_ord.delivered_order_date.ToString();
                    }
                }
            }

            object reply_to_client = new
            {
                key_item_name    = item_name,
                key_ack_qty      = ack_qty,
                key_del_qty      = del_qty,
                key_del_date     = del_date,
                key_itemname_lis = "SUCCESS",
            };

            return(Json(reply_to_client, JsonRequestBehavior.AllowGet));
        }
Beispiel #16
0
        // Approve Department Request
        public ActionResult Ajax_Approve_Department_Request(ajax_model ajax_model_data)
        {
            string quantity_status = "";
            int    stock_level     = 0;
            string order_id_status = "";

            Dictionary <string, int> item_and_quantity_of_department = new Dictionary <string, int>();

            ajax_model ajax_data = new ajax_model
            {
                name      = ajax_model_data.name,
                main_data = ajax_model_data.main_data,
            };

            using (var db = new DataBaseContext())
            {
                List <orders> order_lis = db.orders_repository.Where(or => or.staff_obj.department_obj.department_name == ajax_data.name && or.order_status == "Approved_by_Head").ToList();

                Dictionary <int, int> item_quantity = new Dictionary <int, int>();

                List <items_warehouse> item_ware_lis = db.item_warehouses_repository.ToList();

                foreach (items_warehouse temp_item in item_ware_lis)
                {
                    item_quantity.Add(temp_item.item.itemId, temp_item.stock_balance);
                }

                for (int i = 0; i < order_lis.Count; i++)
                {
                    orders temp_order = order_lis[i];

                    stock_level = item_quantity[temp_order.item_obj.itemId];

                    stock_level = stock_level - temp_order.proposed_quantity;

                    order_id_status = temp_order.ordersId.ToString();

                    // For Stock Card
                    item_and_quantity_of_department.Add(temp_order.item_obj.item_description, temp_order.proposed_quantity);

                    if (stock_level < 0)
                    {
                        quantity_status = "OUT_OF_STOCK";
                        break;
                    }
                    else
                    {
                        item_quantity[temp_order.item_obj.itemId] = stock_level;
                    }
                }

                if (quantity_status != "OUT_OF_STOCK")
                {
                    foreach (KeyValuePair <int, int> data in item_quantity)
                    {
                        items_warehouse item_ware_obj = db.item_warehouses_repository.Where(k => k.item.itemId == data.Key).FirstOrDefault();
                        item_ware_obj.stock_balance = data.Value;
                        db.SaveChanges();
                        quantity_status = "QUANTITY_SUFFICIENT";

                        // Add ACTUAL_QUANTITY and DELIVERY DATE
                        foreach (orders temp_order in order_lis)
                        {
                            temp_order.actual_delivered_quantity_by_clerk = temp_order.proposed_quantity;
                            temp_order.delivered_order_date = DateTime.Now.ToString();
                            db.SaveChanges();
                        }
                    }

                    // For Stock Card
                    foreach (KeyValuePair <string, int> temp_data in item_and_quantity_of_department)
                    {
                        item item_obj = db.item_warehouse_repository.Where(i => i.item_description == temp_data.Key).FirstOrDefault();

                        // STOCK CARD UPDATE
                        int        stockbalance   = StockcardData.GetStockBalanceByItemId(item_obj.itemId);
                        stock_card stock_card_obj = new stock_card(ajax_data.name, DateTime.Now.ToString(), " - " + temp_data.Value, item_obj, stockbalance - temp_data.Value);
                        db.stock_card_repository.Add(stock_card_obj);
                        db.SaveChanges();
                    }

                    foreach (orders temp_order in order_lis)
                    {
                        temp_order.order_status = "Approved_by_Clerk";
                        db.SaveChanges();
                    }
                }
            }
            object reply_to_client = new
            {
                item_quantity_status  = quantity_status,
                stock_level_status    = stock_level,
                order_identity_status = order_id_status,
            };

            //Email Notification
            staff  rep      = StaffData.GetStaffByName(DepartmentData.GetRepresentativebyDepName(ajax_data.name));
            string emailadd = rep.email;
            Task   task     = Task.Run(() => {
                EmailNotification.SendNotificationEmailToEmployee(emailadd, "New Disbursment Order Reminder", "There is a new disbursment order to your department was just approved by store clerk. please get ready to receive it.");
            });


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