Beispiel #1
0
        private void EditCustomer()
        {
            var id  = ParseInt(Utility.Decrypt(_key));
            var obj = CustomerInstance.Find(f => f.id == id);

            if (null == obj)
            {
                ShowNotification("./customers.aspx", "Error: could not find the customer.", false);
            }
            else
            {
                BuilldCustomer(obj);
                var chk = CustomerInstance.Find(f => f.Code.Equals(obj.Code) && f.id != id);
                if (null != chk)
                {
                    ShowNotification("./customer_new.aspx", "Error: there have a same customer code exists.", false);
                }
                else
                {
                    Update(obj);

                    // 保存历史记录
                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("EditCustomer")).id,
                        ObjectA  = CustomerInstance.ToString(obj)
                    });

                    ShowNotification("./customers.aspx", "You have changed the customer: " + CustomerInstance.ToString(obj) + ".");
                }
            }
        }
Beispiel #2
0
        private void NewType()
        {
            var t = TypeInstance.GetObject();

            BuildType(t);
            var check = TypeInstance.Find(f => f.Name.Equals(t.Name));

            if (null != check)
            {
                ShowNotification("./equipment_type.aspx", "Cannot add new Equipment type, The name of \"" + t.Name + "(" + t.Code + ")\" is exist.", false);
                return;
            }
            else
            {
                TypeInstance.Add(t);

                // 保存历史记录
                SaveHistory(new TB_AccountHistory
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("AddEquipmentType")).id,
                    ObjectA  = "[id=" + t.id + "] " + t.Name + ", " + t.Code
                });

                ShowNotification("./equipment_type.aspx", "You have added a new Equipment type: " + t.Name + "(" + t.Code + ").");
            }
        }
Beispiel #3
0
        protected void btDelete_Click(object sender, EventArgs e)
        {
            if (!HasSessionLose)
            {
                if ("" != hidID.Value)
                {
                    var ids  = GetIdList(hidID.Value.Split(new char[] { ',' }));
                    var list = RoleInstance.FindList(f => ids.Contains(f.id) && f.Delete == false);
                    foreach (var role in list)
                    {
                        role.Delete = true;
                        Update(role);

                        SaveHistory(new TB_AccountHistory
                        {
                            ActionId = ActionInstance.Find(f => f.Name.Equals("DeleteRole")).id,
                            ObjectA  = "[id=" + role.id + "] " + role.Name
                        });
                    }
                    // 更新默认角色
                    var dftRole = RoleInstance.Find(f => f.IsDefault == true && f.Delete == false);
                    foreach (var role in ids)
                    {
                        AccountInstance.ClearRoleInfo(role, null == dftRole ? 0 : dftRole.id);
                    }
                    ShowNotification("./role_list.aspx", "Success: You have delete " + ids.Count() + " role(s).");
                }
            }
        }
Beispiel #4
0
        private void New()
        {
            var old = TrackerInstance.Find(f => f.SimCard.Equals(number.Value.Trim()) && f.Deleted == false);

            if (null == old)
            {
                var newOne = TrackerInstance.GetObject();
                newOne.SimCard   = number.Value.Trim();
                newOne.CarNumber = vehicle.Value.Trim();
                newOne.Director  = director.Value.Trim();
                TrackerInstance.Add(newOne);

                // 保存操作历史记录
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("AddTracker")).id,
                    ObjectA  = TrackerInstance.ToString(newOne)
                });
                ShowNotification("/service/as_trackers.aspx", "New tracker added.");
            }
            else
            {
                ShowNotification("/service/as_trackers.aspx", "Same number of " + number.Value.Trim() + " exists.", false);
            }
        }
Beispiel #5
0
        private void Edit()
        {
            // 记录历史
            var his = new TB_AccountHistory();

            his.Account  = Account.id;
            his.ActionId = ActionInstance.Find(f => f.Name.Equals("EditRole")).id;
            his.Ip       = Utility.GetClientIP(this.Context);

            var id   = int.Parse(Utility.Decrypt(hidID.Value));
            var role = RoleInstance.Find(f => f.id == id && f.Delete == false);

            role.Description     = txtDescription.Value.Trim();
            role.IsAdministrator = cbIsAdmin.Checked;
            role.IsDefault       = cbIsDefault.Checked;
            var name = txtName.Value.Trim();

            if (!role.Name.Equals(name))
            {
                his.ObjectA = "[id=" + role.id + "] " + role.Name + " to " + name;
            }
            else
            {
                his.ObjectA = "[id=" + role.id + "] " + role.Name;
            }
            role.Name = name;
            Update(role);

            SaveHistory(his);

            ShowNotification("./role_list.aspx", "Success: You have changed role \"" + role.Name + "\".", true);
        }
Beispiel #6
0
        private void EditSatellite()
        {
            var num = txtNumber.Value.Trim();
            var t   = SatelliteInstance.Find(f => f.id == ParseInt(Utility.Decrypt(hidID.Value)));

            if (null != t)
            {
                var old = SatelliteInstance.Find(f => f.CardNo.Equals(num));
                if (null != old && old.id != t.id)
                {
                    ShowNotification("./satellite_manage.aspx", "Cannot edit the satellite object: The number has exist.", false);
                }
                else
                {
                    SatelliteInstance.Update(f => f.id == t.id, act => { act.CardNo = num; });
                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("EditSat")).id,
                        ObjectA  = SatelliteInstance.ToString(t)
                    });
                    ShowNotification("./satellite_manage.aspx", "You saved the satellite information.");
                }
            }
            else
            {
                ShowNotification("./satellite_manage.aspx", "Cannot edit the satellite object: no record exist.", false);
            }
        }
        private void NewTerminal()
        {
            TB_Terminal t = null;

            // 如果没有输入Sim卡号码则查询是否具有相同终端号码的记录
            if (string.IsNullOrEmpty(txtSimcard.Value.Trim()))
            {
                t = TerminalInstance.Find(f => f.Number.Equals(txtNumber.Value.Trim()) && f.Delete == false);
            }
            else
            {
                // 如果有Sim卡号码输入则查询终端或Sim卡号码是否有相同记录存在
                t = TerminalInstance.Find(f => (f.Number.Equals(txtNumber.Value.Trim()) || f.Sim.Equals(txtSimcard.Value.Trim())) && f.Delete == false);
            }

            if (null != t)
            {
                ShowNotification("./terminal_register.aspx", "Terminal exist: " + TerminalInstance.ToString(t), false);
            }
            else
            {
                t = TerminalInstance.GetObject();
                BuildObject(t);
                TerminalInstance.Add(t);

                SaveHistory(new TB_AccountHistory
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("AddTerminal")).id,
                    ObjectA  = TerminalInstance.ToString(t)
                });

                ShowNotification("./terminal_list.aspx", "You added a new terminal: " + TerminalInstance.ToString(t));
            }
        }
Beispiel #8
0
        private void NewAccount()
        {
            var account = AccountInstance.GetObject();

            BuildAccountInfo(account);
            // check the same login code
            var chk = AccountInstance.Find(f => f.Code.Equals(account.Code));

            if (null != chk)
            {
                ShowNotification("./account_add.aspx", "The login code \"" + account.Code + "\" is exist.", false);
            }
            else
            {
                AccountInstance.Add(account);

                // 保存历史记录
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("AddAccount")).id,
                    ObjectA  = "[id=" + account.id + "] " + account.Name + ", " + account.Code
                });

                ShowNotification("./account_add.aspx", "You add a new account: " + account.Name + "(" + account.Code + ").");
            }
        }
Beispiel #9
0
        private void New()
        {
            var per = new TB_Permission();

            per.Name      = txtName.Value.Trim();
            per.Image     = hidImage.Value;
            per.Delete    = false;
            per.IsDefault = isDefault.Checked;
            per.Url       = txtURL.Value.Trim();
            // 父级菜单,为空时默认为顶级菜单
            var parent = int.Parse("" == hidParent.Value ? "0" : hidParent.Value);

            per.Parent = parent;
            var brothers = PermissionInstance.FindList(p => p.Parent == parent);

            per.DisplayOrder = brothers.Count();
            per.AddTime      = DateTime.Now;
            per.Description  = txtDescription.Value.Trim();
            PermissionInstance.Add(per);

            // 记录历史
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddPermission")).id,
                ObjectA  = "[id=" + per.id + "] " + per.Name
            });
            UpdateRole(per);
            ShowNotification("./permission_list.aspx", "Success: You added a new menu.", true);
        }
        private void EditTerminal()
        {
            var id = ParseInt(Utility.Decrypt(hidID.Value));
            var t  = TerminalInstance.Find(f => (f.Number.Equals(txtNumber.Value.Trim()) || f.Sim.Equals(txtSimcard.Value.Trim())) &&
                                           f.id != id && f.Delete == false);

            if (null == t)
            {
                t = TerminalInstance.Find(f => f.id == ParseInt(Utility.Decrypt(hidID.Value)));
                if (null != t)
                {
                    BuildObject(t);
                    Update(t);

                    SaveHistory(new TB_AccountHistory
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("EditTerminal")).id,
                        ObjectA  = TerminalInstance.ToString(t)
                    });
                    ShowNotification("./terminal_list.aspx", "You changed terminal: " + TerminalInstance.ToString(t));
                }
                else
                {
                    ShowNotification("./terminal_list.aspx", "Error: Cannot edit null object of Terminal.", false);
                }
            }
            else
            {
                ShowNotification("./terminal_register.aspx?key=" + Utility.UrlEncode(hidID.Value),
                                 "Error: New terminal number or sim card number has exists: " + TerminalInstance.ToString(t), false);
            }
        }
Beispiel #11
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            var role = GetRole();

            if (null != role)
            {
                string rights = "";
                foreach (TreeNode tn in tvMenus.CheckedNodes)
                {
                    var id = tn.NavigateUrl.Replace("#", "");
                    rights += "" == rights ? id : ("," + id);
                }
                RoleInstance.Update(f => f.id == role.id && f.Delete == false, action =>
                {
                    action.Permission = rights;
                });

                // 记录历史
                var his = new TB_AccountHistory();
                his.ActionId = ActionInstance.Find(f => f.Name.Equals("RolePermission")).id;
                his.Ip       = Utility.GetClientIP(this.Context);
                his.ObjectA  = "[id=" + role.id + "] " + role.Name;
                SaveHistory(his);

                ShowNotification("./role_list.aspx", "You have changed permission of role \"" + role.Name + "\".");
            }
        }
Beispiel #12
0
        private void Edit(int id)
        {
            var obj = WorkInstance.Find(f => f.id == id && f.Deleted == false);

            if (null == obj)
            {
                ShowNotification("../service/as_work_dispatch.aspx", "No work exist.", false);
            }
            else
            {
                WorkInstance.Update(f => f.id == id && f.Deleted == false, act =>
                {
                    act.Description = description.Value;
                    act.Director    = director.Value.Trim();
                    if (!string.IsNullOrEmpty(end1.Value))
                    {
                        act.ScheduleEnd = DateTime.Parse(end1.Value.Trim());
                    }
                    if (!string.IsNullOrEmpty(start1.Value.Trim()))
                    {
                        act.ScheduleStart = DateTime.Parse(start1.Value);
                    }
                    act.Title = title.Value.Trim();
                });

                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("EditWork")).id,
                    ObjectA  = WorkInstance.ToString(obj)
                });

                ShowNotification("../service/as_work_dispatch.aspx", "The work has changed.");
            }
        }
        protected void btDelete_Click(object sender, EventArgs e)
        {
            // 删除设备
            var id        = ParseInt(Utility.Decrypt(_key));
            var equipment = EquipmentInstance.Find(f => f.id == id);

            if (null == equipment)
            {
                ShowNotification("./equipment_setting.aspx?key=" + Utility.UrlEncode(_key), "Not found the equipment", false);
            }
            else
            {
                string number = EquipmentInstance.GetFullNumber(equipment);
                if ((int?)null != equipment.Terminal)
                {
                    var ter = equipment.TB_Terminal.Number;
                    // 解绑终端
                    TerminalInstance.Update(f => f.id == equipment.Terminal, act =>
                    {
                        act.HasBound = false;
                    });
                    // 保存解绑终端历史
                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("Unbind")).id,
                        ObjectA  = "unbind terminal(delete equipment) " + ter + " and equipment " + EquipmentInstance.GetFullNumber(equipment)
                    });
                }
                // 更新Deleted=true
                EquipmentInstance.Update(f => f.id == equipment.id, act => {
                    act.Deleted        = true;
                    act.GpsAddress     = "";
                    act.IP             = "";
                    act.LastAction     = "";
                    act.LastActionBy   = "";
                    act.LastActionTime = null;
                    act.Latitude       = 0.0;
                    act.Longitude      = 0.0;
                    act.OnlineStyle    = null;
                    act.OnlineTime     = null;
                    act.Port           = 0;
                    act.Rpm            = 0;
                    act.Runtime        = 0;
                    act.ServerName     = "";
                    act.Signal         = 0;
                    act.Socket         = 0;
                    act.Terminal       = null;
                    act.Voltage        = "G0000";
                });
                // 保存删除设备历史
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("Unbind")).id,
                    ObjectA  = "delete equipment " + number
                });
                ShowNotification("./equipment_inquiry.aspx", "You have deleted a equipment: " + number);
            }
        }
Beispiel #14
0
        protected void btCheckoutStorage_Click(object sender, EventArgs e)
        {
            var id        = int.Parse(hidCheckEquipmentId.Value);
            var equipment = EquipmentInstance.Find(f => f.id == id && f.Deleted == false);

            if (null == equipment)
            {
                ShowNotification("./equipment_checkout.aspx", "Cannot find the equipment.", false);
                //return;
            }
            else
            {
                DateTime begin;
                try { begin = DateTime.Parse(outTime.Value.Trim()); }
                catch { begin = DateTime.Now; }

                EquipmentInstance.Update(f => f.id == equipment.id, act =>
                {
                    // 出厂时,如果是普通车辆,则直接划为车辆状态,不参与出库/入库流程
                    if (act.TB_EquipmentModel.TB_EquipmentType.IsVehicle == true)
                    {
                        act.Status = StatusInstance.Find(f => f.IsItVehicle == true).id;
                    }
                    else
                    {
                        act.Status = int.Parse(ddlOuttype.SelectedValue);
                    }
                    act.Customer = int.Parse(hidCheckCustomerId.Value);
                    // 出库时的总运转时间
                    act.OutdoorWorktime = equipment.Runtime;
                    // 出库的时间
                    act.OutdoorTime = begin;
                    // 出库后库存信息置为null
                    act.Warehouse = null;
                });
                equipment = EquipmentInstance.Find(f => f.id == equipment.id);
                // 保存出库历史记录
                var history = StoreInstance.GetObject();
                history.Equipment = equipment.id;
                history.Status    = equipment.Status;
                history.Stocktime = begin;
                // 设备的出入库次数,入库时增1,出库时不变
                history.StoreTimes = equipment.StoreTimes;
                history.Warehouse  = null;
                StoreInstance.Add(history);

                // 保存操作历史记录
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("Deliver")).id,
                    ObjectA  = EquipmentInstance.GetFullNumber(equipment) +
                               " check out(" + ddlOuttype.SelectedItem.Text + ") to: " + equipment.TB_Customer.Name
                });

                ShowNotification("./equipment_checkout.aspx", "\"" + EquipmentInstance.GetFullNumber(equipment) + "\" has delivered.");
            }
        }
Beispiel #15
0
        protected void confirmRental_Click(object sender, EventArgs e)
        {
            // 租赁出库
            if (!HasSessionLose)
            {
                var id        = ParseInt(Utility.Decrypt(hiddenRentalId.Value));
                var equipment = EquipmentInstance.Find(f => f.id == id && f.Deleted == false);
                if (null == equipment)
                {
                    ShowNotification("./equipment_rental.aspx", "Cannot find the equipment.", false);
                }
                else
                {
                    DateTime begin;
                    try { begin = DateTime.Parse(beginAt.Value.Trim()); }
                    catch { begin = DateTime.Now; }

                    EquipmentInstance.Update(f => f.id == equipment.id, act =>
                    {
                        act.Status          = StatusInstance.Find(f => f.IsItRental == true).id;
                        act.Customer        = int.Parse(hiddenCustomer.Value);
                        act.OutdoorTime     = begin;
                        act.OutdoorWorktime = equipment.Runtime;
                        act.Warehouse       = null;
                        act.ReclaimTime     = DateTime.Parse(deadLine.Value + " 00:00:00");
                    });

                    equipment = EquipmentInstance.Find(f => f.id == equipment.id);
                    // 保存出库历史记录
                    var history = StoreInstance.GetObject();
                    history.Equipment = equipment.id;
                    history.Status    = equipment.Status;
                    history.Stocktime = begin;
                    // 设备的出入库次数,入库时增1,出库时不变
                    history.StoreTimes = equipment.StoreTimes;
                    history.Warehouse  = (int?)null;
                    StoreInstance.Add(history);

                    // 保存操作历史记录
                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("Rental")).id,
                        ObjectA  = EquipmentInstance.GetFullNumber(equipment) +
                                   " rent to: " + equipment.TB_Customer.Name + ", " +
                                   equipment.OutdoorTime.Value.ToString("yyyy/MM/dd") +
                                   " to " + equipment.ReclaimTime.Value.ToString("yyyy/MM/dd")
                    });

                    ShowNotification("./equipment_rental.aspx", "\"" +
                                     EquipmentInstance.GetFullNumber(equipment) + "\" has rent to " + equipment.TB_Customer.Name + ".");
                }
            }
        }
        private void SaveNewEquipment()
        {
            var value     = hidNewInstorage.Value;
            var equipment = JsonConverter.ToObject <TB_Equipment>(value);
            // 查找是否有相同型号的相同设备号码
            var exist = EquipmentInstance.Find(f => f.Model == equipment.Model && f.Number.Equals(equipment.Number) && f.Deleted == false);

            if (null == exist)
            {
                var model  = ModelInstance.Find(f => f.id == equipment.Model);
                var newOne = EquipmentInstance.GetObject();
                newOne.Model = equipment.Model;
                if (model.TB_EquipmentType.IsVehicle == true)
                {
                    // 新增的设备是普通车辆时,直接划为车辆,不参与出库/入库流程
                    newOne.Status = StatusInstance.Find(f => f.IsItVehicle == true).id;
                }
                else
                {
                    newOne.Status = StatusInstance.Find(f => f.IsItInventory == true).id;
                }
                newOne.Warehouse  = equipment.Warehouse;
                newOne.Number     = equipment.Number;
                newOne.StoreTimes = equipment.StoreTimes;
                newOne.Functional = equipment.Functional;
                newOne            = EquipmentInstance.Add(newOne);

                // 保存入库信息
                var history = StoreInstance.GetObject();
                history.Equipment = newOne.id;
                history.Status    = newOne.Status;
                history.Stocktime = DateTime.Parse(inDate.Value);
                // 默认第1次入库
                history.StoreTimes = newOne.StoreTimes;
                history.Warehouse  = newOne.Warehouse;
                StoreInstance.Add(history);

                // 保存入库操作历史记录
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("InStore")).id,
                    ObjectA  = EquipmentInstance.ToString(newOne)
                });

                ShowNotification("./equipment_new_product.aspx",
                                 "New equipment \"" + EquipmentInstance.GetFullNumber(exist) + "\" has been saved.");
            }
            else
            {
                ShowNotification("./equipment_new_product.aspx",
                                 "There has a same number of \"" + EquipmentInstance.GetFullNumber(exist) + "\" exist.", false);
            }
        }
Beispiel #17
0
        protected void btUnbindEquipment_Click(object sender, EventArgs e)
        {
            var value = hidBoundSatellite.Value.Trim();

            if (string.IsNullOrEmpty(value))
            {
                return;
            }
            var id       = int.Parse(value);
            var terminal = TerminalInstance.Find(f => f.id == id);

            if (null == terminal)
            {
                return;
            }

            var equipment = EquipmentInstance.Find(f => f.Terminal == id && f.Deleted == false);

            // 更新设备的终端为空并清空设备的相应值
            EquipmentInstance.Update(f => f.Terminal == id && f.Deleted == false, act =>
            {
                act.Terminal       = (int?)null;
                act.GpsAddress     = "";
                act.LastAction     = "";
                act.LastActionBy   = "";
                act.LastActionTime = (DateTime?)null;
                act.Latitude       = 0.0;
                act.Longitude      = 0.0;
                act.OnlineStyle    = (byte?)null;
                act.OnlineTime     = (DateTime?)null;
                act.Runtime        = 0;
                act.Socket         = 0;
                act.Port           = 0;
                act.IP             = "";
                act.LockStatus     = "00";
                act.Rpm            = 0;
                act.Signal         = 0;
                act.Voltage        = "G0000";
            });
            // 更新终端的绑定状态为false
            TerminalInstance.Update(f => f.id == id, act =>
            {
                act.HasBound = false;
            });
            // 保存解绑终端历史
            SaveHistory(new TB_AccountHistory()
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("Unbind")).id,
                ObjectA  = "unbind terminal " + terminal.Number + " and equipment " + EquipmentInstance.GetFullNumber(equipment)
            });

            ShowNotification("./terminal_list.aspx", "You have unbind the terminal and equipment.");
        }
Beispiel #18
0
 protected void bt_Test_Click(object sender, EventArgs e)
 {
     if (!HasSessionLose)
     {
         if ("" != hidID.Value)
         {
             var id       = int.Parse(Utility.Decrypt(hidID.Value));
             var terminal = TerminalInstance.Find(f => f.id == id && f.Delete == false);
             if (null != terminal)
             {
                 if (terminal.HasBound.Value == false)
                 {
                     ShowNotification("./terminal_list.aspx", "No equipment bind on this terminal.", false);
                 }
                 else
                 {
                     var test = StatusInstance.Find(f => f.IsItTesting == true);
                     if (null == test)
                     {
                         ShowNotification("Situation code is not exist.", "", false);
                     }
                     else
                     {
                         var equip = terminal.TB_Equipment.FirstOrDefault();
                         if (null != equip)
                         {
                             EquipmentInstance.Update(f => f.id == equip.id, act =>
                             {
                                 act.Status = StatusInstance.Find(f => f.IsItTesting == true).id;
                             });
                             SaveHistory(new TB_AccountHistory
                             {
                                 ActionId = ActionInstance.Find(f => f.Name.Equals("EditTerminal")).id,
                                 ObjectA  = EquipmentInstance.GetFullNumber(equip) + ", " + terminal.Number + ", set to test mode"
                             });
                             ShowNotification("./terminal_list.aspx", EquipmentInstance.GetFullNumber(equip) + ", " + terminal.Number + ", set to test mode");
                         }
                         else
                         {
                             ShowNotification("./terminal_list.aspx", "No equipment bind on this terminal.", false);
                         }
                     }
                 }
             }
             else
             {
                 ShowNotification("./terminal_list.aspx", "Terminal is not exist.", false);
             }
         }
     }
 }
Beispiel #19
0
        /// <summary>
        /// 解绑终端和卫星模块
        /// </summary>
        private void UnboundSatellite()
        {
            var id = int.Parse(hidBoundSatellite.Value.Trim());
            var t  = TerminalInstance.Find(f => f.id == id);

            if (null == t)
            {
                ShowNotification("./terminal_list.aspx", "Unbind fail: Terminal not exists.", false);
            }
            else
            {
                if ((int?)null == t.Satellite)
                {
                    ShowNotification("./terminal_list.aspx", "Unbind fail: No Satellite bound on it.", false);
                }
                else
                {
                    string satno = t.TB_Satellite.CardNo;
                    TerminalInstance.Update(f => f.id == t.id, act =>
                    {
                        act.Satellite = (int?)null;
                        // 更新终端的链接为OFF
                        if (act.OnlineStyle == (byte)LinkType.SATELLITE)
                        {
                            act.OnlineStyle = (byte?)null;
                        }
                        // 更新卫星功能为false
                        act.SatelliteStatus = false;
                    });
                    // 更新设备的链接为OFF
                    EquipmentInstance.Update(f => f.Terminal == t.id, act =>
                    {
                        if (act.OnlineStyle == (byte)LinkType.SATELLITE)
                        {
                            act.OnlineStyle = (byte?)null;
                        }
                        act.SatelliteStatus = false;
                    });
                    SatelliteInstance.Update(f => f.id == t.Satellite, act => { act.Bound = false; });
                    // 发送解绑卫星模块的命令
                    SendDD02Command(false, t);
                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("UnbindSat")).id,
                        ObjectA  = "Ter: " + t.Number + " unbind Sat: " + satno
                    });
                    ShowNotification("./terminal_list.aspx", "Ter: " + t.Number + " unbind Sat: " + satno + " OK!");
                }
            }
        }
Beispiel #20
0
        /// <summary>
        /// 新建仓库信息
        /// </summary>
        private void NewWarehouse()
        {
            var w = WarehouseInstance.GetObject();

            BuildWarehouse(w);
            WarehouseInstance.Add(w);

            // 保存历史记录
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddWarehouse")).id,
                ObjectA  = "[id=" + w.id + "] " + w.Name + ", " + w.Code
            });

            ShowNotification("./warehouse.aspx", "You have added a new warehouse.");
        }
Beispiel #21
0
        private void NewStatus()
        {
            var t = StatusInstance.GetObject();

            BuildStatus(t);
            StatusInstance.Add(t);

            // 保存历史记录
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddEquipmentStatus")).id,
                ObjectA  = "[id=" + t.id + "] " + t.Name + ", " + t.Code
            });

            ShowNotification("./equipment_status.aspx", "You have added a new Equipment type: " + t.Name + "(" + t.Code + ").");
        }
Beispiel #22
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            if (!HasSessionLose)
            {
                Account.Question = txtQuestion.Value.Trim();
                Account.Answer   = Utility.MD5(txtAnswer.Value.Trim());
                Update(Account);

                SaveHistory(new Database.TB_AccountHistory
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("EditPrivacy")).id
                });

                ShowNotification("./account_history.aspx", "You have changed your privacy question successfully.");
            }
        }
Beispiel #23
0
        private void NewModel()
        {
            var m = ModelInstance.GetObject();

            BuildModel(m);
            ModelInstance.Add(m);

            // 保存历史记录
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddEquipmentModel")).id,
                ObjectA  = "[id=" + m.id + "] " + m.Name + ", " + m.Code
            });

            ShowNotification("./equipment_model.aspx", "You have added a new Equipment model: " + m.Name + "(" + m.Code + ").");
        }
Beispiel #24
0
        private void NewDepartment()
        {
            var dept = DepartmentInstance.GetObject();

            BuildInfo(dept);
            DepartmentInstance.Add(dept);

            // 保存操作历史
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddDept")).id,
                ObjectA  = "[id=" + dept.id + "] " + dept.Name
            });

            ShowNotification("./department_list.aspx", "Success: You added a new department.", true);
        }
        private void NewCode()
        {
            var m = CodeInstance.GetObject();

            BuildCode(m);
            CodeInstance.Add(m);

            // 保存历史记录
            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("AddEquipmentStatusCode")).id,
                ObjectA  = "[id=" + m.id + "] " + m.Name + ", " + m.Code
            });

            ShowNotification("./equipment_status_code.aspx", "You have added a new Equipment Situation Code: " + m.Name + "(" + m.Code + ").");
        }
Beispiel #26
0
        private void EditDept()
        {
            var id   = int.Parse(Utility.Decrypt(hidID.Value));
            var dept = DepartmentInstance.Find(f => f.id == id && f.Delete == false);

            BuildInfo(dept);
            Update(dept);

            SaveHistory(new TB_AccountHistory
            {
                ActionId = ActionInstance.Find(f => f.Name.Equals("EditDept")).id,
                ObjectA  = "[id=" + dept.id + "] " + dept.Name
            });

            ShowNotification("./department_list.aspx", "Success: You changed the dept. info.", true);
        }
Beispiel #27
0
        protected void btSaveChangeWarehouse_Click(object sender, EventArgs e)
        {
            if (!HasSessionLose)
            {
                var id  = ParseInt(Utility.Decrypt(hidWarehouseEquipmentId.Value));
                var obj = EquipmentInstance.Find(f => f.id == id);
                var tmp = JsonConverter.ToObject <TB_Equipment>(hidWarehouseTo.Value);
                if (obj.TB_EquipmentStatusName.IsItInventory == false)
                {
                    ShowNotification("./equipment_change_warehouse.aspx", "The equipment is not in storage status.", false);
                }
                else if (obj.Warehouse == tmp.Warehouse)
                {
                    ShowNotification("./equipment_change_warehouse.aspx", "The equipment in same warehouse you selected.", false);
                }
                else
                {
                    //var transfer = CodeInstance.Find(f =>
                    //        f.TB_EquipmentStatusName.IsInventory == true && f.Code.Equals("T"));
                    EquipmentInstance.Update(f => f.id == obj.id && f.Deleted == false, act =>
                    {
                        act.Warehouse = tmp.Warehouse;
                        // 状态变为库存转移状态
                        //act.Status = transfer.id;
                    });

                    // 保存转库信息
                    var history = StoreInstance.GetObject();
                    history.Equipment = obj.id;
                    history.Status    = obj.Status;//transfer.id;// 移库状态
                    history.Stocktime = DateTime.Now;
                    // 入库次数
                    history.StoreTimes = obj.StoreTimes;
                    history.Warehouse  = tmp.Warehouse;// 保持目的仓库
                    StoreInstance.Add(history);

                    SaveHistory(new TB_AccountHistory()
                    {
                        ActionId = ActionInstance.Find(f => f.Name.Equals("Transfer")).id,
                        ObjectA  = EquipmentInstance.GetFullNumber(obj) + ", \"" + obj.TB_Warehouse.Name + "\" to \"" +
                                   WarehouseInstance.Find(f => f.id == tmp.Warehouse).Name + "\""
                    });

                    ShowEquipments();
                }
            }
        }
        protected void btSave_Click(object sender, EventArgs e)
        {
            if (!HasSessionLose)
            {
                // 设备出库
                if (!string.IsNullOrEmpty(hidCustomerId.Value.Trim()) &&
                    !string.IsNullOrEmpty(hidEquipmentId.Value.Trim()))
                {
                    var obj = EquipmentInstance.Find(f => f.id == ParseInt(hidEquipmentId.Value.Trim()) && f.Deleted == false);
                    if (obj.TB_EquipmentStatusName.IsItInventory == false)
                    {
                        // 如果不在库存状态则提示失败
                        ShowNotification("./equipment_delivery.aspx", "Error: equipment \"" +
                                         obj.TB_EquipmentModel.Code + obj.Number + "\" is not in inventory.", false);
                    }
                    else
                    {
                        EquipmentInstance.Update(f => f.id == obj.id && f.Deleted == false, act =>
                        {
                            act.Status = ParseInt(ddlSituation.SelectedValue);
                            // 出库后库存信息置为null
                            act.Warehouse = (int?)null;
                            act.Customer  = ParseInt(hidCustomerId.Value);
                        });

                        // 保存出库历史记录
                        var history = StoreInstance.GetObject();
                        history.Equipment = obj.id;
                        history.Status    = ParseInt(ddlSituation.SelectedValue);
                        history.Stocktime = DateTime.Now;
                        // 设备的出入库次数,入库时增1,出库时不变
                        history.StoreTimes = obj.StoreTimes;
                        history.Warehouse  = (int?)null;
                        StoreInstance.Add(history);

                        // 保存操作历史记录
                        SaveHistory(new Database.TB_AccountHistory()
                        {
                            ActionId = ActionInstance.Find(f => f.Name.Equals("Deliver")).id,
                            ObjectA  = ""
                        });

                        ShowNotification("./equipment_deliver.aspx", "\"" + EquipmentInstance.GetFullNumber(obj) + "\" has delivered.");
                    }
                }
            }
        }
Beispiel #29
0
        protected void bt_Delete_Click(object sender, EventArgs e)
        {
            if (!HasSessionLose)
            {
                if ("" != hidID.Value)
                {
                    var subIds = new List <int>();
                    var ids    = GetIdList(hidID.Value.Split(new char[] { ',' }));
                    subIds.AddRange(ids);
                    var list = DepartmentInstance.FindList(f => ids.Contains(f.id));
                    foreach (var dept in list)
                    {
                        // 先删除所有下属部门
                        var subs = DepartmentInstance.GetSubdepartments(dept.id);
                        subIds.AddRange(subs);
                        var subList = DepartmentInstance.FindList(f => subs.Contains(f.id) && f.Delete == false);
                        foreach (var sub in subList)
                        {
                            //subIds.Add(sub.id);
                            sub.Delete = true;
                            Update(sub);
                        }

                        // 更新删除状态
                        dept.Delete = true;
                        Update(dept);
                        // 保存删除历史记录
                        SaveHistory(new TB_AccountHistory
                        {
                            ActionId = ActionInstance.Find(f => f.Name.Equals("DeleteDept")).id,
                            ObjectA  = "[id=" + dept.id + "] " + dept.Name
                        });
                    }
                    // 删除动作完成之后才处理用户的默认部门信息
                    TB_Department dftDept = DepartmentInstance.GetDefaultDepartment();
                    // 清理所有下级部门的用户列表
                    foreach (var id in subIds)
                    {
                        AccountInstance.ClearDeptInfo(id, null == dftDept ? 0 : dftDept.id);
                    }

                    ShowNotification("./department_list.aspx", "Success: You have delete " + ids.Count() + " department(s).");
                }
            }
        }
Beispiel #30
0
        /// <summary>
        /// 编辑
        /// </summary>
        /// <param name="strId"></param>
        /// <param name="strParent"></param>
        protected void Edit(int newParent, TB_Permission obj)
        {
            // 修改
            var per = PermissionInstance.Find(p => p.id == obj.id);

            if (null == per)
            {
                // 无法进行更新
                ShowNotification("./permission_list.aspx", "Cannot edit permission: object not exist.", false);
                return;
            }
            else
            {
                // 查看是否更改了父级菜单
                if (newParent != per.Parent)
                {
                    // 更改了父级菜单
                    // 查找兄弟菜单并且显示顺序在本菜单之后的
                    var brothers = PermissionInstance.FindList(b => b.Parent == per.Parent && b.DisplayOrder > per.DisplayOrder);
                    foreach (var bro in brothers)
                    {
                        // 这些兄弟节点的显示顺序都减一
                        PermissionInstance.Update(u => u.id == bro.id, a =>
                        {
                            a.DisplayOrder = a.DisplayOrder - 1;
                        });
                    }
                    // 查找新兄弟菜单项
                    brothers = PermissionInstance.FindList(b => b.Parent == newParent);
                    // 菜单在新兄弟菜单项中显示在末尾
                    obj.Parent       = newParent;
                    obj.DisplayOrder = brothers.Count() + 1;
                }
                Update(obj);

                // 记录历史
                SaveHistory(new TB_AccountHistory()
                {
                    ActionId = ActionInstance.Find(f => f.Name.Equals("EditPermission")).id,
                    ObjectA  = "[id=" + per.id + "] " + (obj.Name.Equals(per.Name) ? obj.Name : ("[" + per.Name + "] to [" + obj.Name + "]"))
                });
                ShowNotification("./permission_list.aspx", "Success: You have changed the permission [" + per.Name + "].");
            }
        }